comparison Resources/LinuxStandardBaseToolchain.cmake @ 2448:862d943115f9

working on linux standard base
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 02 Jan 2018 18:04:11 +0100
parents ded40a9e8cc8
children a4032b162502
comparison
equal deleted inserted replaced
2447:878b59270859 2448:862d943115f9
1 # LSB_CC=gcc-4.8 LSB_CXX=g++-4.8 cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=../Resources/LinuxStandardBaseToolchain.cmake
2
1 INCLUDE(CMakeForceCompiler) 3 INCLUDE(CMakeForceCompiler)
2 4
3 SET(LSB_PATH $ENV{LSB_PATH}) 5 SET(LSB_PATH $ENV{LSB_PATH})
6 SET(LSB_CC $ENV{LSB_CC})
7 SET(LSB_CXX $ENV{LSB_CXX})
4 SET(LSB_TARGET_VERSION "4.0") 8 SET(LSB_TARGET_VERSION "4.0")
5 9
6 IF ("${LSB_PATH}" STREQUAL "") 10 IF ("${LSB_PATH}" STREQUAL "")
7 SET(LSB_PATH "/opt/lsb") 11 SET(LSB_PATH "/opt/lsb")
8 ENDIF() 12 ENDIF()
9
10 message("Using the following Linux Standard Base: ${LSB_PATH}")
11 13
12 IF (EXISTS ${LSB_PATH}/lib64) 14 IF (EXISTS ${LSB_PATH}/lib64)
13 SET(LSB_TARGET_PROCESSOR "x86_64") 15 SET(LSB_TARGET_PROCESSOR "x86_64")
14 SET(LSB_LIBPATH ${LSB_PATH}/lib64-${LSB_TARGET_VERSION}) 16 SET(LSB_LIBPATH ${LSB_PATH}/lib64-${LSB_TARGET_VERSION})
15 ELSEIF (EXISTS ${LSB_PATH}/lib) 17 ELSEIF (EXISTS ${LSB_PATH}/lib)
36 38
37 # adjust the default behaviour of the FIND_XXX() commands: 39 # adjust the default behaviour of the FIND_XXX() commands:
38 # search headers and libraries in the target environment, search 40 # search headers and libraries in the target environment, search
39 # programs in the host environment 41 # programs in the host environment
40 SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 42 SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
41 SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 43 SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
42 SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 44 SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER)
45
46 SET(CMAKE_CROSSCOMPILING OFF)
47
48
49 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --lsb-target-version=${LSB_TARGET_VERSION} -I${LSB_PATH}/include" CACHE INTERNAL "" FORCE)
50 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --lsb-target-version=${LSB_TARGET_VERSION} -nostdinc++ -I${LSB_PATH}/include -I${LSB_PATH}/include/c++ -I${LSB_PATH}/include/c++/backward" CACHE INTERNAL "" FORCE)
51 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --lsb-target-version=${LSB_TARGET_VERSION} -L${LSB_LIBPATH}" CACHE INTERNAL "" FORCE)
52
53 if (NOT "${LSB_CXX}" STREQUAL "")
54 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --lsb-cxx=${LSB_CXX}")
55 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --lsb-cxx=${LSB_CXX}")
56 endif()
57
58 if (NOT "${LSB_CC}" STREQUAL "")
59 SET(CMAKE_C_FLAGS "${CMAKE_CC_FLAGS} --lsb-cc=${LSB_CC}")
60 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --lsb-cc=${LSB_CC}")
61 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --lsb-cc=${LSB_CC}")
62 endif()
63