summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--CMakeLists.txt33
1 files changed, 29 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4ac4c2b..0decbc0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,13 +1,21 @@
-cmake_minimum_required(VERSION 3.0)
+cmake_minimum_required(VERSION 3.13)
set(ARCH "arm-dolce-eabi" CACHE STRING "Target architecture")
set(CMAKE_INSTALL_PREFIX "$ENV{DOLCESDK}/" CACHE PATH "Install prefix")
if(DEFINED ENV{DOLCESDK})
- set(LIBS_GEN "$ENV{DOLCESDK}/bin/dolce-libs-gen" CACHE STRING "libs-gen command")
+ set(_LIBS_GEN "$ENV{DOLCESDK}/bin/dolce-libs-gen")
else()
- set(LIBS_GEN "dolce-libs-gen" CACHE STRING "libs-gen command")
+ set(_LIBS_GEN "dolce-libs-gen")
endif()
+set(LIBS_GEN "${_LIBS_GEN}" CACHE STRING "libs-gen command")
+
+include(ProcessorCount)
+ProcessorCount(_NPROC)
+if(_NPROC EQUAL 0)
+ set(_NPROC 1)
+endif()
+set(NPROC "${_NPROC}" CACHE STRING "Number of processors")
project(dolcesdk-target-headers LANGUAGES NONE)
@@ -22,9 +30,26 @@ add_custom_command(OUTPUT "${STUBS_DIR}"
COMMAND "${LIBS_GEN}" "${DB_365_FILE}" "${STUBS_DIR}/cex-3650"
)
-add_custom_target(prepare-stubs ALL
+add_custom_target(prepare-stubs
DEPENDS "${STUBS_DIR}"
+ COMMENT "Preparing stubs"
+)
+
+add_custom_target(build-stubs
+ COMMAND make -C "${STUBS_DIR}/cex-3600" -j "${NPROC}"
+ COMMAND make -C "${STUBS_DIR}/cex-3650" -j "${NPROC}"
+ COMMENT "Building stubs with ${NPROC} jobs"
)
+add_dependencies(build-stubs prepare-stubs)
+
+add_custom_target(install-stubs
+ COMMAND make -C "${STUBS_DIR}/cex-3600" install
+ COMMAND make -C "${STUBS_DIR}/cex-3650" install
+ COMMENT "Install stubs"
+)
+
+add_dependencies(install-stubs build-stubs)
+
install(DIRECTORY include/ DESTINATION "${ARCH}/include")
install(FILES db.yml db_365.yml DESTINATION share)