diff options
author | Jan200101 <sentrycraft123@gmail.com> | 2021-12-23 20:19:46 +0100 |
---|---|---|
committer | Jan200101 <sentrycraft123@gmail.com> | 2021-12-23 20:19:46 +0100 |
commit | 170353856b4999f4987314080daa53466ca58583 (patch) | |
tree | 8f3fb5624ff73984b7742f461cbfda27875bbe82 /src/mock | |
parent | 42e76b8619ec7c018b7b20349cbf0e86dcc58366 (diff) | |
download | polecat-170353856b4999f4987314080daa53466ca58583.tar.gz polecat-170353856b4999f4987314080daa53466ca58583.zip |
Compile each subsection as its own library and link them together
slightly overkill, might revisit later
Diffstat (limited to 'src/mock')
-rw-r--r-- | src/mock/CMakeLists.txt | 10 | ||||
-rw-r--r-- | src/mock/wine/CMakeLists.txt | 33 |
2 files changed, 22 insertions, 21 deletions
diff --git a/src/mock/CMakeLists.txt b/src/mock/CMakeLists.txt index 8c705e4..80f2eac 100644 --- a/src/mock/CMakeLists.txt +++ b/src/mock/CMakeLists.txt @@ -15,8 +15,8 @@ add_custom_command( add_custom_target(wine_json ALL DEPENDS ${WINE_JSON_OUTFILE}.c ${WINE_JSON_OUTFILE}.h) set(WINE_MOCK - ${WINE_TAR_OUT}.c - ${WINE_TAR_OUT}.h + ${WINE_MOCK_ARCHIVE_OUT}.c + ${WINE_MOCK_ARCHIVE_OUT}.h ) file(TOUCH ${WINE_MOCK}) @@ -31,11 +31,11 @@ SET(MOCK_SOURCES add_library(mock STATIC ${MOCK_SOURCES}) target_compile_options(mock PUBLIC ${CFLAGS}) target_include_directories(mock PUBLIC ${LIBCURL_INCLUDE_DIRS}) -add_dependencies(mock wine_tar wine_json) -target_include_directories(mock PRIVATE ${WINE_TAR_DIR} ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(mock wine_mock_archive wine_json) +target_include_directories(mock PRIVATE ${WINE_MOCK_ARCHIVE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) set(NAME ${CMAKE_PROJECT_NAME}_mock) -add_executable(${NAME} $<TARGET_OBJECTS:core>) +add_executable(${NAME} ${SOURCES}) target_link_libraries(${NAME} LINK_PUBLIC ${JSONC_LIBRARIES}) target_link_libraries(${NAME} LINK_PUBLIC ${LIBARCHIVE_LIBRARIES}) diff --git a/src/mock/wine/CMakeLists.txt b/src/mock/wine/CMakeLists.txt index 8275b27..3418089 100644 --- a/src/mock/wine/CMakeLists.txt +++ b/src/mock/wine/CMakeLists.txt @@ -5,31 +5,32 @@ SET(WINE_SOURCES set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/mock/bin") file(MAKE_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") -set(WINE_TAR_DIR "${CMAKE_CURRENT_BINARY_DIR}") -set(WINE_TAR_DIR "${WINE_TAR_DIR}" PARENT_SCOPE) +set(WINE_MOCK_ARCHIVE_DIR "${CMAKE_CURRENT_BINARY_DIR}") +set(WINE_MOCK_ARCHIVE_DIR "${WINE_MOCK_ARCHIVE_DIR}" PARENT_SCOPE) -add_executable(wine ${WINE_SOURCES}) -target_compile_options(wine PUBLIC ${CFLAGS}) +add_executable(wine_mock ${WINE_SOURCES}) +set_target_properties(wine_mock PROPERTIES OUTPUT_NAME "wine") +target_compile_options(wine_mock PUBLIC ${CFLAGS}) -set(WINE_TAR_FILE_NAME "wine-mock.tar.xz") -set(WINE_TAR_FILE "${WINE_TAR_DIR}/${WINE_TAR_FILE_NAME}") -string(REGEX REPLACE "\\.| |-" "_" WINE_TAR_FILE_NAME ${WINE_TAR_FILE_NAME}) -set(WINE_TAR_OUT "${WINE_TAR_DIR}/${WINE_TAR_FILE_NAME}") -set(WINE_TAR_OUT "${WINE_TAR_OUT}" PARENT_SCOPE) +set(WINE_MOCK_ARCHIVE_FILE_NAME "wine-mock.tar.xz") +set(WINE_MOCK_ARCHIVE_FILE "${WINE_MOCK_ARCHIVE_DIR}/${WINE_MOCK_ARCHIVE_FILE_NAME}") +string(REGEX REPLACE "\\.| |-" "_" WINE_MOCK_ARCHIVE_FILE_NAME ${WINE_MOCK_ARCHIVE_FILE_NAME}) +set(WINE_MOCK_ARCHIVE_OUT "${WINE_MOCK_ARCHIVE_DIR}/${WINE_MOCK_ARCHIVE_FILE_NAME}") +set(WINE_MOCK_ARCHIVE_OUT "${WINE_MOCK_ARCHIVE_OUT}" PARENT_SCOPE) add_custom_command( - OUTPUT ${WINE_TAR_FILE} + OUTPUT ${WINE_MOCK_ARCHIVE_FILE} COMMAND - ${CMAKE_COMMAND} -E tar "cfv" "${WINE_TAR_FILE}" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" - DEPENDS wine + ${CMAKE_COMMAND} -E tar "cfv" "${WINE_MOCK_ARCHIVE_FILE}" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" + DEPENDS wine_mock ) add_custom_command( - OUTPUT ${WINE_TAR_OUT}.c ${WINE_TAR_OUT}.h + OUTPUT ${WINE_MOCK_ARCHIVE_OUT}.c ${WINE_MOCK_ARCHIVE_OUT}.h COMMAND ${CMAKE_COMMAND} - "-Dbin_in=${WINE_TAR_FILE}" + "-Dbin_in=${WINE_MOCK_ARCHIVE_FILE}" -P ${CMAKE_SOURCE_DIR}/cmake/FileEmbed.cmake - DEPENDS ${WINE_TAR_FILE} + DEPENDS ${WINE_MOCK_ARCHIVE_FILE} ) -add_custom_target(wine_tar ALL DEPENDS ${WINE_TAR_OUT}.c ${WINE_TAR_OUT}.h)
\ No newline at end of file +add_custom_target(wine_mock_archive ALL DEPENDS ${WINE_MOCK_ARCHIVE_OUT}.c ${WINE_MOCK_ARCHIVE_OUT}.h)
\ No newline at end of file |