Always declare a native-tools build target

This commit is contained in:
Chris Robinson
2017-08-26 02:21:50 -07:00
parent 561e95528f
commit b1ff2a05af
2 changed files with 39 additions and 33 deletions
+37 -33
View File
@@ -1103,29 +1103,53 @@ ENDIF()
# This is always available
SET(BACKENDS "${BACKENDS} Null")
option(ALSOFT_EMBED_HRTF_DATA "Embed the HRTF data files (increases library footprint)" OFF)
if(ALSOFT_EMBED_HRTF_DATA)
SET(NATIVE_SRC_DIR "${OpenAL_SOURCE_DIR}/native-tools/")
SET(NATIVE_BIN_DIR "${OpenAL_BINARY_DIR}/native-tools/")
FILE(MAKE_DIRECTORY "${NATIVE_BIN_DIR}")
SET(BIN2H_COMMAND "${NATIVE_BIN_DIR}bin2h")
ADD_CUSTOM_COMMAND(OUTPUT "${BIN2H_COMMAND}"
COMMAND ${CMAKE_COMMAND} "${NATIVE_SRC_DIR}"
COMMAND ${CMAKE_COMMAND} --build . --config "Release"
WORKING_DIRECTORY "${NATIVE_BIN_DIR}"
DEPENDS "${NATIVE_SRC_DIR}CMakeLists.txt" "${NATIVE_SRC_DIR}bin2h.c"
FIND_PACKAGE(Git)
IF(GIT_FOUND AND EXISTS "${OpenAL_SOURCE_DIR}/.git")
# Get the current working branch and its latest abbreviated commit hash
ADD_CUSTOM_TARGET(build_version
${CMAKE_COMMAND} -D GIT_EXECUTABLE=${GIT_EXECUTABLE}
-D LIB_VERSION=${LIB_VERSION}
-D SRC=${OpenAL_SOURCE_DIR}/version.h.in
-D DST=${OpenAL_BINARY_DIR}/version.h
-P ${OpenAL_SOURCE_DIR}/version.cmake
WORKING_DIRECTORY "${OpenAL_SOURCE_DIR}"
VERBATIM
)
ELSE()
SET(GIT_BRANCH "UNKNOWN")
SET(GIT_COMMIT_HASH "unknown")
CONFIGURE_FILE(
"${OpenAL_SOURCE_DIR}/version.h.in"
"${OpenAL_BINARY_DIR}/version.h")
ENDIF()
SET(NATIVE_SRC_DIR "${OpenAL_SOURCE_DIR}/native-tools/")
SET(NATIVE_BIN_DIR "${OpenAL_BINARY_DIR}/native-tools/")
FILE(MAKE_DIRECTORY "${NATIVE_BIN_DIR}")
SET(BIN2H_COMMAND "${NATIVE_BIN_DIR}bin2h")
ADD_CUSTOM_COMMAND(OUTPUT "${BIN2H_COMMAND}"
COMMAND ${CMAKE_COMMAND} "${NATIVE_SRC_DIR}"
COMMAND ${CMAKE_COMMAND} --build . --clean-first --config "Release"
WORKING_DIRECTORY "${NATIVE_BIN_DIR}"
DEPENDS "${NATIVE_SRC_DIR}CMakeLists.txt" "${NATIVE_SRC_DIR}bin2h.c"
VERBATIM
)
ADD_CUSTOM_TARGET(native-tools
DEPENDS "${BIN2H_COMMAND}"
VERBATIM
)
option(ALSOFT_EMBED_HRTF_DATA "Embed the HRTF data files (increases library footprint)" OFF)
if(ALSOFT_EMBED_HRTF_DATA)
MACRO(make_hrtf_header FILENAME VARNAME)
SET(infile "${OpenAL_SOURCE_DIR}/hrtf/${FILENAME}")
SET(outfile "${OpenAL_BINARY_DIR}/${FILENAME}.h")
ADD_CUSTOM_COMMAND(OUTPUT "${outfile}"
COMMAND "${BIN2H_COMMAND}" "${infile}" "${outfile}" ${VARNAME}
DEPENDS "${BIN2H_COMMAND}" "${infile}"
COMMENT "Generating ${FILENAME}.h"
DEPENDS native-tools "${infile}"
VERBATIM
)
@@ -1159,26 +1183,6 @@ ELSE()
SET(LIBNAME "OpenAL32")
ENDIF()
FIND_PACKAGE(Git)
IF(GIT_FOUND AND EXISTS "${OpenAL_SOURCE_DIR}/.git")
# Get the current working branch and its latest abbreviated commit hash
ADD_CUSTOM_TARGET(build_version
${CMAKE_COMMAND} -D GIT_EXECUTABLE=${GIT_EXECUTABLE}
-D LIB_VERSION=${LIB_VERSION}
-D SRC=${OpenAL_SOURCE_DIR}/version.h.in
-D DST=${OpenAL_BINARY_DIR}/version.h
-P ${OpenAL_SOURCE_DIR}/version.cmake
WORKING_DIRECTORY "${OpenAL_SOURCE_DIR}"
VERBATIM
)
ELSE()
SET(GIT_BRANCH "UNKNOWN")
SET(GIT_COMMIT_HASH "unknown")
CONFIGURE_FILE(
"${OpenAL_SOURCE_DIR}/version.h.in"
"${OpenAL_BINARY_DIR}/version.h")
ENDIF()
# Needed for openal.pc.in
SET(prefix ${CMAKE_INSTALL_PREFIX})
SET(exec_prefix "\${prefix}")
+2
View File
@@ -1,5 +1,7 @@
cmake_minimum_required(VERSION 3.0.2)
project(native-tools)
add_executable(bin2h bin2h.c)
# Enforce no dressing for executable names, so the main script can find it
set_target_properties(bin2h PROPERTIES OUTPUT_NAME bin2h)