axmol/cmake/AXBuildSet.cmake

67 lines
2.5 KiB
CMake
Raw Normal View History

2019-11-23 20:27:39 +08:00
# print cmake debug info
set(CMAKE_DEBUG_TARGET_PROPERTIES
# INCLUDE_DIRECTORIES
# COMPILE_DEFINITIONS
# COMPILE_OPTIONS
# AUTOUIC_OPTIONS
# POSITION_INDEPENDENT_CODE
)
# The ``OLD`` behavior for this policy is to set ``OpenGL_GL_PREFERENCE`` to
# ``LEGACY``. The ``NEW`` behavior for this policy is to set
# ``OpenGL_GL_PREFERENCE`` to ``GLVND``.
# need review those libs: X11 Xi Xrandr Xxf86vm Xinerama Xcursor rt m
cmake_policy(SET CMP0072 NEW)
2022-10-01 16:24:52 +08:00
# some useful variables for every one ax project
2019-11-23 20:27:39 +08:00
set(ENGINE_BINARY_PATH ${PROJECT_BINARY_DIR}/engine)
if(CMAKE_TOOLCHAIN_FILE)
2023-08-27 01:18:48 +08:00
message(STATUS "Using toolchain file:" ${CMAKE_TOOLCHAIN_FILE})
2019-11-23 20:27:39 +08:00
endif()
# the default behavior of build module
2022-12-17 16:35:20 +08:00
option(AX_ENABLE_EXT_LUA "Build lua libraries" ON)
2019-11-23 20:27:39 +08:00
2020-08-03 20:31:47 +08:00
# hold the extensions list to auto link to app
set(_AX_EXTENSION_LIBS "" CACHE INTERNAL "extensions for auto link to target application")
2020-08-03 20:31:47 +08:00
# configure android GLSLCC compile output, this is the first include cmake module
if (ANDROID)
file(TO_NATIVE_PATH "${PROJECT_SOURCE_DIR}/proj.android/build/runtime/axslc" _GLSLCC_OUT_DIR)
set(GLSLCC_OUT_DIR "${_GLSLCC_OUT_DIR}" CACHE STRING "" FORCE)
message(AUTHOR_WARNING "Set GLSLCC_OUT_DIR to ${GLSLCC_OUT_DIR} for android")
endif()
2023-08-26 22:50:18 +08:00
# import minimal AXGLSLCC.cmake for shader compiler support
# the function: ax_target_compile_shaders avaiable from it
set(GLSLCC_FIND_PROG_ROOT "${_AX_ROOT}/tools/external/glslcc")
include(AXGLSLCC)
2019-11-23 20:27:39 +08:00
# include helper functions
2022-08-08 18:02:17 +08:00
include(AXBuildHelpers)
2019-11-23 20:27:39 +08:00
# set common compiler options
# add target compile define function
# add target compile options function
2022-08-08 18:02:17 +08:00
include(AXConfigDefine)
2019-11-23 20:27:39 +08:00
# config libraries dependence
2022-08-08 18:02:17 +08:00
include(AXConfigDepend)
2019-11-23 20:27:39 +08:00
2023-06-13 20:30:57 +08:00
message(STATUS "CMAKE_HOST_SYSTEM_NAME:" ${CMAKE_HOST_SYSTEM_NAME})
message(STATUS "CMAKE_SYSTEM_NAME:" ${CMAKE_SYSTEM_NAME})
message(STATUS "CMAKE_GENERATOR_PLATFORM:" ${CMAKE_GENERATOR_PLATFORM})
message(STATUS "CMAKE_SYSTEM_PROCESSOR:" ${CMAKE_SYSTEM_PROCESSOR})
message(STATUS "CMAKE_CXX_COMPILER_ID:" ${CMAKE_CXX_COMPILER_ID})
message(STATUS "FUZZ_MSVC=${FUZZ_MSVC}, FULL_CLANG=${FULL_CLANG}")
message(STATUS "PROJECT_NAME:" ${PROJECT_NAME})
message(STATUS "PROJECT_SOURCE_DIR:" ${PROJECT_SOURCE_DIR})
message(STATUS "_AX_ROOT:" ${_AX_ROOT})
message(STATUS "CMAKE_MODULE_PATH:" ${CMAKE_MODULE_PATH})
# delete binary dir if you hope a full clean re-build
message(STATUS "PROJECT_BINARY_DIR:" ${PROJECT_BINARY_DIR})
message(STATUS "ENGINE_BINARY_PATH:" ${ENGINE_BINARY_PATH})
message(STATUS "ARCH_ALIAS:" ${ARCH_ALIAS})