diff options
author | Michal Klocek <michal.klocek@qt.io> | 2021-02-25 18:45:10 +0100 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2021-05-22 14:10:14 +0200 |
commit | 68de090b1fce66f36743d31f384398af8c140a1d (patch) | |
tree | fd1d56a9e4b9d7503b586bc8345eb5c027535b2e /src/gn | |
parent | bd2e13ef62510b547cc07729cfa024a75987bee2 (diff) |
Refactor and create gn target
Refactor the gn handling and add:
* the gn target for encapsulating resources needed to
run chromium builds
* the support for SOURCES, INCLUDES, DEFINES, COMPILE OPTIONS.
* the multi config support for cmake and enable debug,
release builds
* CONDITION evaluation for the gn target and the gn arg list
* the linux specific config and all missing source sets
* use REALPATH instead of ABSOLUTE, this fixes missing
drive letter on windows
Task-number: QTBUG-91760
Change-Id: Ib283d8ab817ff36ee9c94c2b8f44785709c45258
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/gn')
-rw-r--r-- | src/gn/CMakeLists.txt | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/gn/CMakeLists.txt b/src/gn/CMakeLists.txt index d26ce2a62..bad9ffb08 100644 --- a/src/gn/CMakeLists.txt +++ b/src/gn/CMakeLists.txt @@ -8,8 +8,8 @@ project(Gn ) 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(GN_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) +set(GN_EXECUTABLE gn) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake") find_package(Python2 REQUIRED) @@ -21,16 +21,17 @@ add_custom_command( WORKING_DIRECTORY ${GN_BINARY_DIR} COMMAND ${Python2_EXECUTABLE} ${GN_SOURCE_DIR}/build/gen.py --no-last-commit-position - --out-path . + --out-path ${GN_BINARY_DIR}/$<CONFIG> --cc ${CMAKE_C_COMPILER} --cxx ${CMAKE_CXX_COMPILER} --ld ${CMAKE_CXX_COMPILER} - COMMAND Ninja::ninja gn + COMMAND Ninja::ninja -C ${GN_BINARY_DIR}/$<CONFIG> ${GN_EXECUTABLE} VERBATIM USES_TERMINAL COMMAND_EXPAND_LISTS ) -add_custom_target(gn ALL DEPENDS ${GN_EXECUTABLE}) -install(FILES ${GN_EXECUTABLE} +add_custom_target(Gn ALL DEPENDS ${GN_EXECUTABLE}) +install(FILES ${GN_BINARY_DIR}/$<CONFIG>/${GN_EXECUTABLE} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE - DESTINATION bin) + DESTINATION bin +) |