aboutsummaryrefslogtreecommitdiff
path: root/src/mock
diff options
context:
space:
mode:
authorJan200101 <sentrycraft123@gmail.com>2021-12-23 20:19:46 +0100
committerJan200101 <sentrycraft123@gmail.com>2021-12-23 20:19:46 +0100
commit170353856b4999f4987314080daa53466ca58583 (patch)
tree8f3fb5624ff73984b7742f461cbfda27875bbe82 /src/mock
parent42e76b8619ec7c018b7b20349cbf0e86dcc58366 (diff)
downloadpolecat-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.txt10
-rw-r--r--src/mock/wine/CMakeLists.txt33
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