Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cmake_minimum_required(VERSION 3.6)
- set(CMAKE_C_STANDARD 11)
- set(CMAKE_VERBOSE_MAKEFILE on)
- set(CMAKE_C_VISIBILITY_PRESET hidden)
- # thanks to http://stackoverflow.com/questions/7172670
- function(join OUTPUT GLUE)
- set(_TMP_RESULT "")
- set(_GLUE "") # effective glue is empty at the beginning
- foreach(arg ${ARGN})
- set(_TMP_RESULT "${_TMP_RESULT}${_GLUE}${arg}")
- set(_GLUE "${GLUE}")
- endforeach()
- set(${OUTPUT} "${_TMP_RESULT}" PARENT_SCOPE)
- endfunction(join)
- function(append_env NAME VAL)
- set(TMP $ENV{${NAME}})
- set(ENV{${NAME}} "${TMP} ${VAL}")
- endfunction(append_env)
- function(set_empty OUTPUT VAL)
- if ((NOT DEFINED ${OUTPUT}) OR "${OUTPUT}" STREQUAL "")
- set(${OUTPUT} "${VAL}" PARENT_SCOPE)
- endif()
- endfunction(set_empty)
- function(influence_pkg_spec TGT PREFIX)
- if (TARGET ${TGT})
- join(TMP " " ${${PREFIX}_CFLAGS})
- target_compile_options(${TGT} PUBLIC ${TMP})
- join(TMP " " ${${PREFIX}_CFLAGS_OTHER})
- target_compile_options(${TGT} PUBLIC ${TMP})
- join(TMP " " ${${PREFIX}_LDFLAGS})
- set_property(TARGET ${TGT} APPEND_STRING PROPERTY LINK_FLAGS " ${TMP} ")
- join(TMP " " ${${PREFIX}_LDFLAGS_OTHER})
- set_property(TARGET ${TGT} APPEND_STRING PROPERTY LINK_FLAGS " ${TMP} ")
- endif()
- endfunction(influence_pkg_spec)
- function(influence_pkg PREFIX)
- if (${PREFIX}_FOUND)
- influence_pkg_spec(test1 ${PREFIX})
- endif()
- endfunction(influence_pkg)
- set(ENV{CMAKE_APPBUNDLE_PATH} "/opt/soft/cjose")
- set_property(GLOBAL PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
- set_property(GLOBAL PROPERTY BUILD_WITH_INSTALL_RPATH TRUE)
- set(LIB_SOURCE ${LIB_SOURCE} linux_port/config.h linux_port/port.c)
- add_executable(test1 test.c)
- include(FindPkgConfig)
- pkg_check_modules(JSONC REQUIRED json-c)
- pkg_check_modules(CJOSE REQUIRED cjose)
- influence_pkg("JSONC")
- influence_pkg("CJOSE")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement