summaryrefslogtreecommitdiffstats
path: root/src/gn
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2021-02-25 18:45:10 +0100
committerMichal Klocek <michal.klocek@qt.io>2021-05-22 14:10:14 +0200
commit68de090b1fce66f36743d31f384398af8c140a1d (patch)
treefd1d56a9e4b9d7503b586bc8345eb5c027535b2e /src/gn
parentbd2e13ef62510b547cc07729cfa024a75987bee2 (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.txt15
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
+)