source: flair-src/trunk/tools/FlairGCS/CMakeLists.txt @ 436

Last change on this file since 436 was 365, checked in by Sanahuja Guillaume, 14 months ago

change simu apps compilation to avoid problem with mixing host and toolchain libs
(log2@glibc_2.29 error when compiling on ubuntu 20.05 or mint 20)
now compile with host g++ and libs (except filelib, irrlicht, quat, udt and vrpn) for simu apps using the macro: FLAIR_DEMO_HOST_CXX

File size: 2.5 KB
Line 
1PROJECT(flairgcs)
2cmake_minimum_required(VERSION 2.8)
3include($ENV{FLAIR_ROOT}/flair-src/cmake-modules/GlobalCmakeFlair.cmake)
4
5if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i686" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i586" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64")
6
7execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
8                OUTPUT_VARIABLE GCC_VERSION)
9
10if (GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
11        if (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
12                ADD_DEFINITIONS("-std=c++11")
13        else()
14                ADD_DEFINITIONS("-std=c++0x")
15        endif()
16else()
17        message(STATUS "GCC version < 4.3, c+11 is not supported!")
18endif()
19
20FILE(GLOB PROJECT_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
21
22SET(FILES_TO_MOC
23        src/UdtSocket.h
24        src/RangeFinderPlot.h
25    src/UsSensorPlot.h
26        src/DataPlot2D.h
27        src/Picture.h
28        src/Manager.h
29        src/file_ui.h
30        src/Vector3DSpinBox.h
31        src/DoubleSpinBox.h
32        src/SpinBox.h
33        src/CheckBox.h
34        src/ComboBox.h
35        src/PushButton.h
36        src/mapwidget.h
37        src/Map.h
38        src/XmlWidget.h
39        src/ConnectionLayout.h
40        src/ListWidget.h
41)
42
43FIND_PACKAGE(Qt4 REQUIRED)
44SET(QT_USE_QTGUI TRUE)
45SET(QT_USE_QTMAIN TRUE)
46SET(QT_USE_QTXML TRUE)
47SET(QT_USE_QTNETWORK TRUE)
48INCLUDE(${QT_USE_FILE})
49
50QT4_WRAP_CPP(MOC_SOURCES ${FILES_TO_MOC})
51
52# generate rules for building source files from the resources
53QT4_ADD_RESOURCES(RCC_SOURCES "src/ressources.qrc")
54
55ADD_DEFINITIONS(${QT_DEFINITIONS})
56ADD_DEFINITIONS(-DQT_THREAD_SUPPORT -DQT_NO_DEBUG)
57
58include_directories(
59        ${CMAKE_SOURCE_DIR}/src
60        ${CMAKE_CURRENT_SOURCE_DIR}/../../lib/FlairCore/src/unexported
61        ${QT_INCLUDE_DIR}
62        ${CMAKE_SYSROOT}/usr/include/udt
63        ${CMAKE_SYSROOT}/usr/include/qwt
64        ${CMAKE_SYSROOT}/usr/include/QwtDataViewer
65        ${CMAKE_SYSROOT}/usr/include/qt4/QtMobility
66        ${CMAKE_SYSROOT}/usr/include/qt4/QtLocation
67    ${CMAKE_BINARY_DIR}/generated/
68)
69
70LINK_DIRECTORIES (
71        ${QT_LIBRARY_DIR}
72)
73
74SET(SRC_FILES ${PROJECT_SOURCE_FILES} ${MOC_SOURCES} ${RCC_SOURCES})
75FLAIR_NRT_TOOL(${PROJECT_NAME} "${SRC_FILES}" COPY_RESOURCES)
76TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${QT_LIBRARIES} qwt QwtDataViewer udt QtLocation FileLib z)
77
78
79add_custom_target(
80        ${PROJECT_NAME}_compile_info
81        COMMAND $ENV{FLAIR_ROOT}/flair-src/scripts/compile_info.sh ${CMAKE_C_COMPILER} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR}/generated/compile_info.h
82)
83
84add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_compile_info)
85
86else()
87warn("${PROJECT_NAME} will not be built for ${CMAKE_SYSTEM_PROCESSOR} architecture")
88endif()
Note: See TracBrowser for help on using the repository browser.