You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Add: introduce CMake for project management
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.
Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.
This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.
Addtiionally, this heavily improves our detection of libraries, etc.
6 years ago
|
|
|
# Autodetect editbin. Only useful for MSVC.
|
|
|
|
|
|
|
|
if(NOT EDITBIN_DIRECTORY)
|
|
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
|
|
|
get_filename_component(MSVC_COMPILE_DIRECTORY ${CMAKE_CXX_COMPILER} DIRECTORY)
|
|
|
|
set(EDITBIN_DIRECTORY ${MSVC_COMPILE_DIRECTORY})
|
|
|
|
else()
|
|
|
|
# For clang-cl build
|
|
|
|
# find editbin.exe from environmental variable VCToolsInstallDir
|
|
|
|
set(EDITBIN_DIRECTORY "$ENV{VCToolsInstallDir}/bin/Hostx64/x64")
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
|
|
|
message(CHECK_START "Finding editbin.exe")
|
Add: introduce CMake for project management
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.
Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.
This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.
Addtiionally, this heavily improves our detection of libraries, etc.
6 years ago
|
|
|
find_program(
|
|
|
|
EDITBIN_EXECUTABLE editbin.exe
|
|
|
|
HINTS ${EDITBIN_DIRECTORY}
|
Add: introduce CMake for project management
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.
Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.
This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.
Addtiionally, this heavily improves our detection of libraries, etc.
6 years ago
|
|
|
)
|
|
|
|
|
|
|
|
if(EDITBIN_EXECUTABLE)
|
|
|
|
message(CHECK_PASS "found")
|
|
|
|
else()
|
|
|
|
message(CHECK_FAIL "not found , please manually specify EDITBIN_DIRECTORY")
|
|
|
|
endif()
|
|
|
|
|
Add: introduce CMake for project management
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.
Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.
This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.
Addtiionally, this heavily improves our detection of libraries, etc.
6 years ago
|
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
find_package_handle_standard_args(Editbin
|
|
|
|
FOUND_VAR EDITBIN_FOUND
|
|
|
|
REQUIRED_VARS EDITBIN_EXECUTABLE
|
|
|
|
)
|