From 450788d502b6281d5d9fe3e6a0ea0b66a3e116bc Mon Sep 17 00:00:00 2001 From: SirAnthony Date: Fri, 21 Mar 2014 12:23:10 +0600 Subject: [PATCH] Move generation of files to cmake --- src/voglbench/CMakeLists.txt | 5 +++-- src/voglcommon/CMakeLists.txt | 3 ++- src/vogleditor/CMakeLists.txt | 4 +++- src/voglgen/CMakeLists.txt | 9 +++++++++ src/voglreplay/CMakeLists.txt | 3 ++- src/voglsyms/CMakeLists.txt | 7 ++++--- src/vogltrace/CMakeLists.txt | 3 ++- 7 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/voglbench/CMakeLists.txt b/src/voglbench/CMakeLists.txt index 52f9e62..5be403d 100644 --- a/src/voglbench/CMakeLists.txt +++ b/src/voglbench/CMakeLists.txt @@ -7,9 +7,9 @@ find_package(X11 REQUIRED) include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${SRC_DIR}/voglcore - ${SRC_DIR}/voglinc + ${CMAKE_BINARY_DIR}/voglinc ${SRC_DIR}/voglcommon - ${SRC_DIR}/libtelemetry + ${SRC_DIR}/libtelemetry ${SRC_DIR}/extlib/loki/include/loki ) @@ -18,6 +18,7 @@ set(SRC_LIST ) add_executable(${PROJECT_NAME} ${SRC_LIST}) +add_dependencies(${PROJECT_NAME} voglgen_make_inc) target_link_libraries(${PROJECT_NAME} ${TELEMETRY_LIBRARY} diff --git a/src/voglcommon/CMakeLists.txt b/src/voglcommon/CMakeLists.txt index 222bf53..960e854 100644 --- a/src/voglcommon/CMakeLists.txt +++ b/src/voglcommon/CMakeLists.txt @@ -6,7 +6,7 @@ include("${SRC_DIR}/build_options.cmake") include_directories( ${SRC_DIR}/extlib/loki/include/loki ${SRC_DIR}/voglcommon - ${SRC_DIR}/voglinc + ${CMAKE_BINARY_DIR}/voglinc ${SRC_DIR}/voglcore ${SRC_DIR}/libtelemetry ${SRC_DIR}/libbacktrace @@ -69,6 +69,7 @@ endif() add_compiler_flag("-fPIC") add_library(${PROJECT_NAME} ${SRC_LIST}) +add_dependencies(${PROJECT_NAME} voglgen_make_inc) target_link_libraries(${PROJECT_NAME} backtrace) build_options_finalize() diff --git a/src/vogleditor/CMakeLists.txt b/src/vogleditor/CMakeLists.txt index 75f5d07..3ff364c 100644 --- a/src/vogleditor/CMakeLists.txt +++ b/src/vogleditor/CMakeLists.txt @@ -15,7 +15,7 @@ include_directories( ${SRC_DIR} ${SRC_DIR}/voglcore ${SRC_DIR}/voglcommon - ${SRC_DIR}/voglinc + ${CMAKE_BINARY_DIR}/voglinc ${SRC_DIR}/extlib/loki/include/loki ${SRC_DIR}/libtelemetry ${CMAKE_CURRENT_BINARY_DIR} @@ -151,6 +151,8 @@ add_executable(${PROJECT_NAME} ${SRC_LIST} ${HEADER_LIST} ${QT_GEN_RESOURCE_RCC_LIST} ) +add_dependencies(${PROJECT_NAME} voglgen_make_inc) + target_link_libraries(${PROJECT_NAME} ${QT_QTMAIN_LIBRARY} ${QT_QTCORE_LIBRARY} diff --git a/src/voglgen/CMakeLists.txt b/src/voglgen/CMakeLists.txt index 908a195..3d006ee 100644 --- a/src/voglgen/CMakeLists.txt +++ b/src/voglgen/CMakeLists.txt @@ -4,6 +4,7 @@ cmake_minimum_required(VERSION 2.8) include("${SRC_DIR}/build_options.cmake") set(SRC_LIST voglgen.cpp) +set(SPEC_DIR "${CMAKE_SOURCE_DIR}/../glspec") add_definitions(-DTIXML_USE_STL) @@ -19,5 +20,13 @@ target_link_libraries(${PROJECT_NAME} ${TinyXML_LIBRARIES} ) +# Generate stuff and copy it. Generator must handle copying internally in the future. +add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${PROJECT_NAME} --specdir ${SPEC_DIR} + COMMAND mkdir -p "${CMAKE_BINARY_DIR}/voglinc/" + COMMAND mv "${SPEC_DIR}/*.inc" "${CMAKE_BINARY_DIR}/voglinc/" + COMMAND mv "${SPEC_DIR}/libvogltrace_linker_script.txt" "${CMAKE_SOURCE_DIR}/vogltrace/") +add_custom_target(voglgen_make_inc DEPENDS ${PROJECT_NAME}) + build_options_finalize() diff --git a/src/voglreplay/CMakeLists.txt b/src/voglreplay/CMakeLists.txt index be7ed89..a9c6324 100644 --- a/src/voglreplay/CMakeLists.txt +++ b/src/voglreplay/CMakeLists.txt @@ -16,7 +16,7 @@ include_directories( include_directories( ${SRC_DIR}/voglcore - ${SRC_DIR}/voglinc + ${CMAKE_BINARY_DIR}/voglinc ${SRC_DIR}/voglcommon ${SRC_DIR}/libtelemetry ${SRC_DIR}/extlib/loki/include/loki @@ -32,6 +32,7 @@ set(SRC_LIST # add_compiler_flag("-DVOGL_REMOTING") add_executable(${PROJECT_NAME} ${SRC_LIST}) +add_dependencies(${PROJECT_NAME} voglgen_make_inc) target_link_libraries(${PROJECT_NAME} ${TELEMETRY_LIBRARY} diff --git a/src/voglsyms/CMakeLists.txt b/src/voglsyms/CMakeLists.txt index 0792eab..2ba8a2b 100644 --- a/src/voglsyms/CMakeLists.txt +++ b/src/voglsyms/CMakeLists.txt @@ -6,10 +6,10 @@ include("${SRC_DIR}/build_options.cmake") include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${SRC_DIR}/voglcore - ${SRC_DIR}/voglinc + ${CMAKE_BINARY_DIR}/voglinc ${SRC_DIR}/voglcommon - ${SRC_DIR}/libtelemetry - ${SRC_DIR}/libbacktrace + ${SRC_DIR}/libtelemetry + ${SRC_DIR}/libbacktrace ${SRC_DIR}/extlib/loki/include/loki ) @@ -18,6 +18,7 @@ set(SRC_LIST ) add_executable(${PROJECT_NAME} ${SRC_LIST}) +add_dependencies(${PROJECT_NAME} voglgen_make_inc) target_link_libraries(${PROJECT_NAME} backtrace diff --git a/src/vogltrace/CMakeLists.txt b/src/vogltrace/CMakeLists.txt index 6320b4e..66566a9 100644 --- a/src/vogltrace/CMakeLists.txt +++ b/src/vogltrace/CMakeLists.txt @@ -37,7 +37,7 @@ include_directories( ${SRC_DIR}/libbacktrace ${SRC_DIR}/extlib/loki/include/loki ${SRC_DIR}/voglcommon - ${SRC_DIR}/voglinc + ${CMAKE_BINARY_DIR}/voglinc ${SRC_DIR}/voglcore ${SRC_DIR}/libtelemetry ) @@ -47,6 +47,7 @@ add_shared_linker_flag("-Wl,-Bsymbolic") add_shared_linker_flag("-Wl,--version-script=${PROJECT_SOURCE_DIR}/libvogltrace_linker_script.txt") add_library(${PROJECT_NAME} SHARED ${SRC_LIST}) +add_dependencies(${PROJECT_NAME} voglgen_make_inc) target_link_libraries(${PROJECT_NAME} ${TELEMETRY_LIBRARY} -- 2.43.0