diff --git a/CMakeLists.txt.in b/CMakeLists.txt.in new file mode 100644 index 0000000..d3867f1 --- /dev/null +++ b/CMakeLists.txt.in @@ -0,0 +1,50 @@ +cmake_minimum_required(VERSION 2.8.12) + +project(PkmnLibTools NONE) + +include(ExternalProject) +ExternalProject_Add(pkmnlib + GIT_REPOSITORY https://git.p-epsilon.com/Deukhoofd/PkmnLib + GIT_TAG master + PREFIX "${CMAKE_CURRENT_BINARY_DIR}/PkmnLib" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + TEST_COMMAND "" + CMAKE_ARGS "-DSHARED=${SHARED} -DWINDOWS=${WINDOWS} -DSTATICC=${STATICC}" + ) + + +function(include_pkmnlib) + # Download and unpack googletest at configure time + configure_file(CMakeLists.txt.in PkmnLib/download/CMakeLists.txt) + execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . + RESULT_VARIABLE result + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/PkmnLib/download) + if (result) + message(FATAL_ERROR "CMake step for pkmnlib failed: ${result}") + endif () + execute_process(COMMAND ${CMAKE_COMMAND} --build . + RESULT_VARIABLE result + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/PkmnLib/download) + if (result) + message(FATAL_ERROR "Build step for pkmnlib failed: ${result}") + endif () + + # Add googletest directly to our build. This defines + # the gtest and gtest_main targets. + add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/PkmnLib/src/pkmnlib + ${CMAKE_CURRENT_BINARY_DIR}/PkmnLib/bin + EXCLUDE_FROM_ALL) + + execute_process(COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/PkmnLib/include) + execute_process(COMMAND ln -s ${CMAKE_CURRENT_BINARY_DIR}/PkmnLib/src/pkmnlib/src + ${CMAKE_CURRENT_BINARY_DIR}/PkmnLib/include/PkmnLib) + + include_directories(${CMAKE_CURRENT_BINARY_DIR}/PkmnLib/include + ${CMAKE_CURRENT_BINARY_DIR}/PkmnLib/bin/CreatureLib/include + ${CMAKE_CURRENT_BINARY_DIR}/PkmnLib/bin/Angelscript/src/AngelscriptProj/angelscript/include + ${CMAKE_CURRENT_BINARY_DIR}/PkmnLib/bin/CreatureLib/bin/Arbutils/include) + + +endfunction() \ No newline at end of file