diff options
Diffstat (limited to 'src/gn/CMakeLists.txt')
-rw-r--r-- | src/gn/CMakeLists.txt | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/gn/CMakeLists.txt b/src/gn/CMakeLists.txt new file mode 100644 index 000000000..9e98e152b --- /dev/null +++ b/src/gn/CMakeLists.txt @@ -0,0 +1,36 @@ + +cmake_minimum_required(VERSION 3.18.0) + +project(Gn + DESCRIPTION "Meta-build system" + HOMEPAGE_URL "https://gn.googlesource.com/gn/" + LANGUAGES CXX C +) + +set(GN_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/gn) +set(GN_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gn) +set(GN_EXECUTABLE ${GN_BINARY_DIR}/gn) +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake") + +find_package(Python2 REQUIRED) +find_package(Ninja 1.7.2 REQUIRED) + +file(MAKE_DIRECTORY ${GN_BINARY_DIR}) +add_custom_command( + OUTPUT ${GN_EXECUTABLE} + WORKING_DIRECTORY ${GN_BINARY_DIR} + COMMAND ${Python2_EXECUTABLE} ${GN_SOURCE_DIR}/build/gen.py + --no-last-commit-position + --out-path . + --cc ${CMAKE_C_COMPILER} + --cxx ${CMAKE_CXX_COMPILER} + --ld ${CMAKE_CXX_COMPILER} + COMMAND Ninja::ninja gn + VERBATIM + USES_TERMINAL + COMMAND_EXPAND_LISTS +) +add_custom_target(gn ALL DEPENDS ${GN_EXECUTABLE}) +install(FILES ${GN_EXECUTABLE} + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE + DESTINATION bin) |