Skip to content

Commit 6fb9624

Browse files
committed
Porting to windows
1 parent a693145 commit 6fb9624

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

qt_gui_cpp/src/qt_gui_cpp/CMakeLists.txt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
set(Python_ADDITIONAL_VERSIONS "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
22
find_package(PythonLibs "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" REQUIRED)
33
find_package(Qt5Widgets REQUIRED)
4-
5-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
4+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
5+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
6+
endif()
67

78
set(qt_gui_cpp_SRCS
89
composite_plugin_provider.cpp
@@ -37,8 +38,16 @@ ament_export_dependencies(pluginlib)
3738
include_directories(${PROJECT_NAME} ${qt_gui_cpp_INCLUDE_DIRECTORIES} ${pluginlib_INCLUDE_DIRS})
3839
add_library(${PROJECT_NAME} ${qt_gui_cpp_SRCS} ${qt_gui_cpp_MOCS})
3940

41+
if (WIN32)
42+
# On Windows systems, Visual Studio does not currently set __cplusplus correctly unless this
43+
# compile option is added. __cplusplus is used by a header in pluginlib/class_loader.hpp
44+
message(STATUS "On Windows, setting /Zc:__cplusplus")
45+
target_compile_options(${PROJECT_NAME} PUBLIC "/Zc:__cplusplus")
46+
endif()
47+
4048
target_link_libraries(${PROJECT_NAME} ${qt_gui_cpp_LINK_LIBRARIES} ${ament_LIBRARIES} Qt5::Widgets ${TinyXML2_LIBRARIES})
4149

4250
install(TARGETS ${PROJECT_NAME}
4351
ARCHIVE DESTINATION lib
44-
LIBRARY DESTINATION lib)
52+
LIBRARY DESTINATION lib
53+
RUNTIME DESTINATION bin)

qt_gui_cpp/src/qt_gui_cpp_sip/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ set(qt_gui_cpp_sip_DEPENDENT_FILES
2929
# maintain context for different named target
3030
set(qt_gui_cpp_sip_INCLUDE_DIRS ${qt_gui_cpp_INCLUDE_DIRS} "${CMAKE_CURRENT_SOURCE_DIR}/../../include")
3131
set(qt_gui_cpp_sip_LIBRARY_DIRS ${qt_gui_cpp_LIBRARY_DIRS} lib)
32-
set(qt_gui_cpp_sip_LDFLAGS_OTHER ${qt_gui_cpp_LDFLAGS_OTHER} -Wl,-rpath,\\"lib\\")
32+
set(qt_gui_cpp_sip_LDFLAGS_OTHER ${qt_gui_cpp_LDFLAGS_OTHER})
3333

3434
set(_qt_gui_cpp_sip_LIBRARIES
3535
${pluginlib_LIBRARIES}
@@ -71,6 +71,8 @@ if(sip_helper_FOUND)
7171

7272
if(APPLE)
7373
set(LIBQT_GUI_CPP_SIP_SUFFIX .so)
74+
elseif(WIN32)
75+
set(LIBQT_GUI_CPP_SIP_SUFFIX .pyd)
7476
else()
7577
set(LIBQT_GUI_CPP_SIP_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
7678
endif()

0 commit comments

Comments
 (0)