diff --git a/CMakeLists.txt b/CMakeLists.txt index e4999e502..d60332e63 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -355,13 +355,31 @@ endif() else() - project(AviSynth-Headers VERSION ${version_major}.${version_minor}.${version_bugfix} LANGUAGES) + project(AviSynth-Headers VERSION ${version_major}.${version_minor}.${version_bugfix} LANGUAGES CXX) message(STATUS "Install Only Headers: ON") add_library(${PROJECT_NAME} INTERFACE) target_include_directories(${PROJECT_NAME} INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/avs_core/include") add_library(AviSynth::Headers ALIAS ${PROJECT_NAME}) + # Determine target architecture + include("${CMAKE_CURRENT_LIST_DIR}/avs_core/TargetArch.cmake") + target_architecture(AVS_ARCH) + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/avs_core/core/arch.h.in ${CMAKE_CURRENT_BINARY_DIR}/arch.h @ONLY) + + # Dynamically generate the sequential version info from Git + # Based on the example here: http://www.cmake.org/pipermail/cmake/2010-July/038015.html + FIND_PACKAGE(Git) + INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) + ADD_CUSTOM_TARGET( + VersionGen + ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_SOURCE_DIR}/avs_core/core/version.h.in + -D DST=${CMAKE_CURRENT_BINARY_DIR}/version.h + -D GIT=${GIT_EXECUTABLE} + -D REPO=${CMAKE_SOURCE_DIR} + -P ${CMAKE_CURRENT_SOURCE_DIR}/avs_core/Version.cmake + ) + include(GNUInstallDirs) install( @@ -375,6 +393,13 @@ else() DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/avisynth ) + install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/version.h" + "${CMAKE_CURRENT_BINARY_DIR}/arch.h" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/avisynth/avs" + ) + + endif() # uninstall target diff --git a/README.md b/README.md index 1f6b49842..99e376e65 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ using CMake to do a limited install as well. > mkdir avisynth-build && cd avisynth-build >
cmake ../ -DHEADERS_ONLY:bool=on ->
make install +>
make VersionGen install `-DCMAKE_INSTALL_PREFIX` can be used to override the install location if need be.