-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
39 lines (33 loc) · 1.46 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
cmake_minimum_required(VERSION 3.29.5)
# Set the project name
project(DEV7)
# Specify where the executables will be placed
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/binaries)
# Add each tool's directory as a subdirectory
add_subdirectory(tools/BCD1Creator)
add_subdirectory(tools/CTRKViewer)
add_subdirectory(tools/DEV7Launcher)
add_subdirectory(tools/OBCViewer)
add_subdirectory(tools/PLAViewer)
add_subdirectory(tools/OBJDumper)
add_subdirectory(tools/ModelPathDumper)
# Check if we are building on Linux
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
# Set a separate output directory for Linux binaries
set(LINUX_BIN_DIR ${CMAKE_SOURCE_DIR}/binaries/linux)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LINUX_BIN_DIR})
# Only add the Linux-specific program if on Linux
add_subdirectory(rewritten-software-ports/linux/LoaderMDO)
add_subdirectory(common-tools/linux/convert_bin)
add_subdirectory(common-tools/linux/create_iso)
#add_subdirectory(common-tools/linux/extract_iso)
add_subdirectory(common-tools/linux/create_tar)
add_subdirectory(common-tools/linux/create_zip)
else()
# Set a different output directory for non-Linux binaries
set(OTHER_BIN_DIR ${CMAKE_SOURCE_DIR}/binaries/linux)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OTHER_BIN_DIR})
endif()
# Optional: Add a custom target to build all tools at once
add_custom_target(all_tools
DEPENDS BCD1Creator CTRKViewer DEV7Launcher OBCViewer OBJDumper ModelPathDumper LoaderMDO)