From b59d7946d4863b3b939e384ff2c14eacb69530ad Mon Sep 17 00:00:00 2001 From: Vo Trung Chi Date: Tue, 9 Jul 2019 15:37:33 +0700 Subject: cmake: Allow build as a subproject (#145) Use PROJECT_* instead of CMAKE_* to allow build as a subproject of another cmake project. Signed-off-by: Vo Trung Chi --- cmake/CMakeLists.txt | 6 +++--- doc/CMakeLists.txt | 28 ++++++++++++++-------------- doc/doxygen.cfg.cmake | 8 ++++---- doc/extended_network_trace_doxygen.cfg.cmake | 2 +- src/console/logstorage/CMakeLists.txt | 2 +- src/core_dump_handler/CMakeLists.txt | 12 ++++++------ src/dbus/CMakeLists.txt | 4 ++-- systemd/CMakeLists.txt | 12 ++++++------ testscripts/CMakeLists.txt | 4 ++-- 9 files changed, 39 insertions(+), 39 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 5ba0040..238f839 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -40,7 +40,7 @@ CHECK_INCLUDE_FILES( sys/ioctl.h HAVE_SYSIOCTL_H) CHECK_INCLUDE_FILES( sys/socket.h HAVE_SYSSOCKET_H) CHECK_INCLUDE_FILES( sys/time.h HAVE_SYSTIME_H) if( WITH_SYSTEMD_WATCHDOG OR WITH_SYSTEMD ) - set(CMAKE_REQUIRED_INCLUDES "${CMAKE_SOURCE_DIR}/systemd/3rdparty/") + set(CMAKE_REQUIRED_INCLUDES "${PROJECT_SOURCE_DIR}/systemd/3rdparty/") CHECK_INCLUDE_FILES( sd-daemon.h HAVE_SYSTEMD_H) endif ( WITH_SYSTEMD_WATCHDOG OR WITH_SYSTEMD ) CHECK_INCLUDE_FILES( unistd.h HAVE_UNISTD_H) @@ -75,7 +75,7 @@ CHECK_FUNCTION_EXISTS( strstr HAVE_FUNC_STRSTR) CHECK_FUNCTION_EXISTS( strtol HAVE_FUNC_STRTOL) if(WITH_CHECK_CONFIG_FILE) - configure_file(${CMAKE_SOURCE_DIR}/cmake/config.h.cmake ${PROJECT_BINARY_DIR}/include/dlt/config.h) + configure_file(${PROJECT_SOURCE_DIR}/cmake/config.h.cmake ${PROJECT_BINARY_DIR}/include/dlt/config.h) endif(WITH_CHECK_CONFIG_FILE) -CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/dlt_version.h.cmake ${CMAKE_SOURCE_DIR}/include/dlt/dlt_version.h @ONLY) +configure_file(${PROJECT_SOURCE_DIR}/cmake/dlt_version.h.cmake ${PROJECT_BINARY_DIR}/include/dlt/dlt_version.h @ONLY) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 1751e9c..3fe41db 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -18,11 +18,11 @@ if(WITH_DOC) find_package(Doxygen) - configure_file(${CMAKE_SOURCE_DIR}/doc/doxygen.cfg.cmake ${CMAKE_BINARY_DIR}/doc/doxygen.cfg @ONLY) + configure_file(${PROJECT_SOURCE_DIR}/doc/doxygen.cfg.cmake ${PROJECT_BINARY_DIR}/doc/doxygen.cfg @ONLY) add_custom_target (doc ALL - COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/doc/doxygen.cfg - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/doc + COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/doc/doxygen.cfg + WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc ) FIND_PROGRAM(ASCIIDOC_TOOL @@ -36,16 +36,16 @@ if(WITH_DOC) endif(NOT ASCIIDOC_TOOL) add_custom_target (doc-manuals ALL - COMMAND mkdir -p ${CMAKE_BINARY_DIR}/doc/manuals - COMMAND mkdir -p ${CMAKE_BINARY_DIR}/doc/manuals/images - COMMAND cp ${CMAKE_SOURCE_DIR}/doc/images/* ${CMAKE_BINARY_DIR}/doc/manuals/images - COMMAND ${ASCIIDOC_TOOL} -a TOC1 -o ${CMAKE_BINARY_DIR}/doc/manuals/README.html ${CMAKE_SOURCE_DIR}/README.md - COMMAND ${ASCIIDOC_TOOL} -a TOC1 -o ${CMAKE_BINARY_DIR}/doc/manuals/dlt_user_manual.html ${CMAKE_SOURCE_DIR}/doc/dlt_user_manual.txt - COMMAND ${ASCIIDOC_TOOL} -a TOC1 -o ${CMAKE_BINARY_DIR}/doc/manuals/dlt_cheatsheet.html ${CMAKE_SOURCE_DIR}/doc/dlt_cheatsheet.txt - COMMAND ${ASCIIDOC_TOOL} -a TOC1 -o ${CMAKE_BINARY_DIR}/doc/manuals/dlt_design_specification.html ${CMAKE_SOURCE_DIR}/doc/dlt_design_specification.txt - COMMAND ${ASCIIDOC_TOOL} -a TOC1 -o ${CMAKE_BINARY_DIR}/doc/manuals/dlt_book.html ${CMAKE_SOURCE_DIR}/doc/dlt_book.txt - COMMAND ${ASCIIDOC_TOOL} -a TOC1 -o ${CMAKE_BINARY_DIR}/doc/manuals/dlt_howto_debug.html ${CMAKE_SOURCE_DIR}/doc/dlt_howto_debug.txt - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/doc + COMMAND mkdir -p ${PROJECT_BINARY_DIR}/doc/manuals + COMMAND mkdir -p ${PROJECT_BINARY_DIR}/doc/manuals/images + COMMAND cp ${PROJECT_SOURCE_DIR}/doc/images/* ${PROJECT_BINARY_DIR}/doc/manuals/images + COMMAND ${ASCIIDOC_TOOL} -a TOC1 -o ${PROJECT_BINARY_DIR}/doc/manuals/README.html ${PROJECT_SOURCE_DIR}/README.md + COMMAND ${ASCIIDOC_TOOL} -a TOC1 -o ${PROJECT_BINARY_DIR}/doc/manuals/dlt_user_manual.html ${PROJECT_SOURCE_DIR}/doc/dlt_user_manual.txt + COMMAND ${ASCIIDOC_TOOL} -a TOC1 -o ${PROJECT_BINARY_DIR}/doc/manuals/dlt_cheatsheet.html ${PROJECT_SOURCE_DIR}/doc/dlt_cheatsheet.txt + COMMAND ${ASCIIDOC_TOOL} -a TOC1 -o ${PROJECT_BINARY_DIR}/doc/manuals/dlt_design_specification.html ${PROJECT_SOURCE_DIR}/doc/dlt_design_specification.txt + COMMAND ${ASCIIDOC_TOOL} -a TOC1 -o ${PROJECT_BINARY_DIR}/doc/manuals/dlt_book.html ${PROJECT_SOURCE_DIR}/doc/dlt_book.txt + COMMAND ${ASCIIDOC_TOOL} -a TOC1 -o ${PROJECT_BINARY_DIR}/doc/manuals/dlt_howto_debug.html ${PROJECT_SOURCE_DIR}/doc/dlt_howto_debug.txt + WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc ) endif(WITH_DOC) @@ -73,7 +73,7 @@ if(WITH_MAN) endif(NOT PANDOC_TOOL) set(MAN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - set(MAN_BUILD_DIR ${CMAKE_BINARY_DIR}/doc) + set(MAN_BUILD_DIR ${PROJECT_BINARY_DIR}/doc) set(MD_SRC ${MAN_SRC_DIR}/dlt.conf.5.md diff --git a/doc/doxygen.cfg.cmake b/doc/doxygen.cfg.cmake index 5c17864..c183c92 100644 --- a/doc/doxygen.cfg.cmake +++ b/doc/doxygen.cfg.cmake @@ -590,9 +590,9 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = @CMAKE_SOURCE_DIR@/doc/mainpage.h \ - @CMAKE_SOURCE_DIR@/src/ \ - @CMAKE_SOURCE_DIR@/include +INPUT = @PROJECT_SOURCE_DIR@/doc/mainpage.h \ + @PROJECT_SOURCE_DIR@/src/ \ + @PROJECT_SOURCE_DIR@/include # This tag can be used to specify the character encoding of the source files @@ -689,7 +689,7 @@ EXAMPLE_RECURSIVE = NO # directories that contain image that are included in the documentation (see # the \image command). -IMAGE_PATH = @CMAKE_SOURCE_DIR@/doc/images +IMAGE_PATH = @PROJECT_SOURCE_DIR@/doc/images # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program diff --git a/doc/extended_network_trace_doxygen.cfg.cmake b/doc/extended_network_trace_doxygen.cfg.cmake index adefc59..b778453 100644 --- a/doc/extended_network_trace_doxygen.cfg.cmake +++ b/doc/extended_network_trace_doxygen.cfg.cmake @@ -688,7 +688,7 @@ EXAMPLE_RECURSIVE = NO # directories that contain image that are included in the documentation (see # the \image command). -IMAGE_PATH = @CMAKE_SOURCE_DIR@/doc/images +IMAGE_PATH = @PROJECT_SOURCE_DIR@/doc/images # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program diff --git a/src/console/logstorage/CMakeLists.txt b/src/console/logstorage/CMakeLists.txt index 160d905..ca8e017 100644 --- a/src/console/logstorage/CMakeLists.txt +++ b/src/console/logstorage/CMakeLists.txt @@ -23,7 +23,7 @@ if(WITH_DLT_LOGSTORAGE_CTRL_UDEV) endif(WITH_DLT_LOGSTORAGE_CTRL_UDEV) if(WITH_SYSTEMD) - set(dlt_logstorage_ctrl_SRCS ${dlt_logstorage_ctrl_SRCS} ${CMAKE_SOURCE_DIR}/systemd/3rdparty/sd-daemon.c) + set(dlt_logstorage_ctrl_SRCS ${dlt_logstorage_ctrl_SRCS} ${PROJECT_SOURCE_DIR}/systemd/3rdparty/sd-daemon.c) endif(WITH_SYSTEMD) add_executable(dlt-logstorage-ctrl ${dlt_logstorage_ctrl_SRCS} ${dlt_control_common_SRCS} ${dlt_most_SRCS}) diff --git a/src/core_dump_handler/CMakeLists.txt b/src/core_dump_handler/CMakeLists.txt index 4545e93..96b6519 100644 --- a/src/core_dump_handler/CMakeLists.txt +++ b/src/core_dump_handler/CMakeLists.txt @@ -17,7 +17,7 @@ if(WITH_DLT_COREDUMPHANDLER) - set( PLATFORM_DIR ${CMAKE_SOURCE_DIR}/src/core_dump_handler/${TARGET_CPU_NAME} ) + set(PLATFORM_DIR ${PROJECT_SOURCE_DIR}/src/core_dump_handler/${TARGET_CPU_NAME}) set(dlt_cdh_SRCS dlt_cdh.c dlt_cdh_context.c dlt_cdh_coredump.c ${PLATFORM_DIR}/dlt_cdh_cpuinfo.c dlt_cdh_crashid.c dlt_cdh_streamer.c) set(COREDUMP_CONF_DIR "/usr/lib/sysctl.d/") @@ -25,21 +25,21 @@ if(WITH_DLT_COREDUMPHANDLER) #add_definitions( -fno-strict-aliasing ) if(WITH_CITYHASH) - set( CITYHASH_DIR ${CMAKE_SOURCE_DIR}/src/core_dump_handler/cityhash_c ) - add_definitions( -DHAS_CITYHASH_C ) - set(dlt_cdh_SRCS ${CITYHASH_DIR}/city_c.c ${dlt_cdh_SRCS} ) + set(CITYHASH_DIR ${PROJECT_SOURCE_DIR}/src/core_dump_handler/cityhash_c) + add_definitions(-DHAS_CITYHASH_C) + set(dlt_cdh_SRCS ${CITYHASH_DIR}/city_c.c ${dlt_cdh_SRCS}) endif(WITH_CITYHASH) add_executable(dlt-cdh ${dlt_cdh_SRCS}) target_link_libraries(dlt-cdh z) set_target_properties(dlt-cdh PROPERTIES LINKER_LANGUAGE C) - configure_file(${CMAKE_SOURCE_DIR}/src/core_dump_handler/50-coredump.conf.cmake ${PROJECT_BINARY_DIR}/core_dump_handler/50-coredump.conf) + configure_file(${PROJECT_SOURCE_DIR}/src/core_dump_handler/50-coredump.conf.cmake ${PROJECT_BINARY_DIR}/core_dump_handler/50-coredump.conf) install(TARGETS dlt-cdh RUNTIME DESTINATION bin COMPONENT base) - install(FILES ${PROJECT_BINARY_DIR}/core_dump_handler/50-coredump.conf DESTINATION ${COREDUMP_CONF_DIR} ) + install(FILES ${PROJECT_BINARY_DIR}/core_dump_handler/50-coredump.conf DESTINATION ${COREDUMP_CONF_DIR}) endif(WITH_DLT_COREDUMPHANDLER) diff --git a/src/dbus/CMakeLists.txt b/src/dbus/CMakeLists.txt index b91496e..49b7ea5 100644 --- a/src/dbus/CMakeLists.txt +++ b/src/dbus/CMakeLists.txt @@ -16,8 +16,8 @@ ####### include_directories( - ${CMAKE_SOURCE_DIR}/ - ${CMAKE_SOURCE_DIR}/include/dlt + ${PROJECT_SOURCE_DIR}/ + ${PROJECT_SOURCE_DIR}/include/dlt ${DBUS_INCLUDE_DIRS} ) diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt index 71f0aa9..d6645c1 100644 --- a/systemd/CMakeLists.txt +++ b/systemd/CMakeLists.txt @@ -27,30 +27,30 @@ if(WITH_SYSTEMD) message( STATUS "The systemd watchdog is disabled") endif(WITH_SYSTEMD_WATCHDOG) - configure_file(${CMAKE_SOURCE_DIR}/systemd/dlt.service.cmake ${PROJECT_BINARY_DIR}/systemd/dlt.service) + configure_file(${PROJECT_SOURCE_DIR}/systemd/dlt.service.cmake ${PROJECT_BINARY_DIR}/systemd/dlt.service) message( STATUS "Configured systemd unit file:dlt.service" ) install(FILES ${PROJECT_BINARY_DIR}/systemd/dlt.service DESTINATION ${SYSTEMD_CONFIGURATIONS_FILES_DIR} ) if(WITH_DLT_SYSTEM) - configure_file(${CMAKE_SOURCE_DIR}/systemd/dlt-system.service.cmake ${PROJECT_BINARY_DIR}/systemd/dlt-system.service) + configure_file(${PROJECT_SOURCE_DIR}/systemd/dlt-system.service.cmake ${PROJECT_BINARY_DIR}/systemd/dlt-system.service) message( STATUS "Configured systemd unit file:dlt-system.service" ) install(FILES ${PROJECT_BINARY_DIR}/systemd/dlt-system.service DESTINATION ${SYSTEMD_CONFIGURATIONS_FILES_DIR} ) endif(WITH_DLT_SYSTEM) if(WITH_DLT_DBUS) - configure_file(${CMAKE_SOURCE_DIR}/systemd/dlt-dbus.service.cmake ${PROJECT_BINARY_DIR}/systemd/dlt-dbus.service) + configure_file(${PROJECT_SOURCE_DIR}/systemd/dlt-dbus.service.cmake ${PROJECT_BINARY_DIR}/systemd/dlt-dbus.service) message( STATUS "Configured systemd unit file:dlt-dbus.service" ) install(FILES ${PROJECT_BINARY_DIR}/systemd/dlt-dbus.service DESTINATION ${SYSTEMD_CONFIGURATIONS_FILES_DIR} ) endif(WITH_DLT_DBUS) if(WITH_DLT_CONSOLE AND WITH_DLT_EXAMPLES) - configure_file(${CMAKE_SOURCE_DIR}/systemd/dlt-receive.service.cmake ${PROJECT_BINARY_DIR}/systemd/dlt-receive.service) + configure_file(${PROJECT_SOURCE_DIR}/systemd/dlt-receive.service.cmake ${PROJECT_BINARY_DIR}/systemd/dlt-receive.service) message( STATUS "Configured systemd unit file:dlt-receive.service" ) install(FILES ${PROJECT_BINARY_DIR}/systemd/dlt-receive.service DESTINATION ${SYSTEMD_CONFIGURATIONS_FILES_DIR} ) endif(WITH_DLT_CONSOLE AND WITH_DLT_EXAMPLES) if(WITH_DLT_EXAMPLES) - configure_file(${CMAKE_SOURCE_DIR}/systemd/dlt-example-user.service.cmake ${PROJECT_BINARY_DIR}/systemd/dlt-example-user.service) + configure_file(${PROJECT_SOURCE_DIR}/systemd/dlt-example-user.service.cmake ${PROJECT_BINARY_DIR}/systemd/dlt-example-user.service) message( STATUS "Configured systemd unit file:dlt-example-user.service" ) install(FILES ${PROJECT_BINARY_DIR}/systemd/dlt-example-user.service DESTINATION ${SYSTEMD_CONFIGURATIONS_FILES_DIR} ) endif(WITH_DLT_EXAMPLES) @@ -59,7 +59,7 @@ if(WITH_SYSTEMD) set( DLT_ADAPTOR_UDP_APPID "DUDP" ) set( DLT_ADAPTOR_UDP_CTID "DCTI" ) set( DLT_ADAPTOR_UDP_PORT 4712 ) - configure_file(${CMAKE_SOURCE_DIR}/systemd/dlt-adaptor-udp.service.cmake ${PROJECT_BINARY_DIR}/systemd/dlt-adaptor-udp.service) + configure_file(${PROJECT_SOURCE_DIR}/systemd/dlt-adaptor-udp.service.cmake ${PROJECT_BINARY_DIR}/systemd/dlt-adaptor-udp.service) message( STATUS "Configured systemd unit file:dlt-adaptor-udp.service" ) message(STATUS "DLT adaptor udp configuration: APPID=${DLT_ADAPTOR_UDP_APPID} CTID=${DLT_ADAPTOR_UDP_CTID} PORT=${DLT_ADAPTOR_UDP_PORT}" ) install(FILES ${PROJECT_BINARY_DIR}/systemd/dlt-adaptor-udp.service DESTINATION ${SYSTEMD_CONFIGURATIONS_FILES_DIR} ) diff --git a/testscripts/CMakeLists.txt b/testscripts/CMakeLists.txt index 126525d..d518512 100644 --- a/testscripts/CMakeLists.txt +++ b/testscripts/CMakeLists.txt @@ -16,6 +16,6 @@ ####### if(WITH_TESTSCRIPTS) - configure_file(${CMAKE_SOURCE_DIR}/testscripts/Meego/dlt-daemon.cmake ${PROJECT_BINARY_DIR}/testscripts/Meego/dlt-daemon @ONLY) - configure_file(${CMAKE_SOURCE_DIR}/testscripts/Ubuntu/dlt-daemon.cmake ${PROJECT_BINARY_DIR}/testscripts/Ubuntu/dlt-daemon @ONLY) + configure_file(${PROJECT_SOURCE_DIR}/testscripts/Meego/dlt-daemon.cmake ${PROJECT_BINARY_DIR}/testscripts/Meego/dlt-daemon @ONLY) + configure_file(${PROJECT_SOURCE_DIR}/testscripts/Ubuntu/dlt-daemon.cmake ${PROJECT_BINARY_DIR}/testscripts/Ubuntu/dlt-daemon @ONLY) endif(WITH_TESTSCRIPTS) -- cgit v1.2.1