-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
45 lines (37 loc) · 2.2 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
cmake_minimum_required(VERSION 3.5.1)
project(MML-SFML-Compat)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(MML_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/MML")
set(MML_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/MMLBuild")
set(MML_INSTALL_DIR "${MML_BUILD_DIR}/Install")
make_directory(${MML_BUILD_DIR})
# Configure MML
message(STATUS "Executing: ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} ${MML_SRC_DIR} -DCMAKE_INSTALL_PREFIX=${MML_INSTALL_DIR} -DSFML_DEPENDENCIES_INSTALL_PREFIX=${MML_INSTALL_DIR}/Dependencies -DSFML_MISC_INSTALL_PREFIX=${MML_INSTALL_DIR} -DMML_SFML_COMPAT=TRUE")
message(STATUS "Command output redirected to: ${CMAKE_CURRENT_BINARY_DIR}/MMLConfigureLog.txt")
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" "${MML_SRC_DIR}" "-DCMAKE_INSTALL_PREFIX=${MML_INSTALL_DIR}" "-DSFML_DEPENDENCIES_INSTALL_PREFIX=${MML_INSTALL_DIR}/Dependencies" "-DSFML_MISC_INSTALL_PREFIX=${MML_INSTALL_DIR}" "-DMML_SFML_COMPAT=TRUE"
WORKING_DIRECTORY "${MML_BUILD_DIR}"
OUTPUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/MMLConfigureLog.txt"
ERROR_FILE "${CMAKE_CURRENT_BINARY_DIR}/MMLConfigureLog.txt"
RESULT_VARIABLE MML_CONFIGURE_STATUS)
if (NOT "${MML_CONFIGURE_STATUS}" STREQUAL "0")
message(SEND_ERROR "MML configure step exited with status ${MML_BUILD_STATUS}")
file(READ "${CMAKE_CURRENT_BINARY_DIR}/MMLConfigureLog.txt" MML_CONFIGURE_LOG)
message(STATUS "Log contents:\n${MML_CONFIGURE_LOG}")
return()
endif()
# Build & install MML
message(STATUS "Executing: ${CMAKE_COMMAND} --build \"${MML_BUILD_DIR}\" --target install")
message(STATUS "Command output redirected to: ${CMAKE_CURRENT_BINARY_DIR}/MMLBuildLog.txt")
execute_process(COMMAND ${CMAKE_COMMAND} --build "${MML_BUILD_DIR}" --target install
WORKING_DIRECTORY "${MML_BUILD_DIR}"
OUTPUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/MMLBuildLog.txt"
ERROR_FILE "${CMAKE_CURRENT_BINARY_DIR}/MMLBuildLog.txt"
RESULT_VARIABLE MML_BUILDINSTALL_STATUS)
if (NOT "${MML_BUILDINSTALL_STATUS}" STREQUAL "0")
message(SEND_ERROR "MML build & install steps exited with status ${MML_BUILDINSTALL_STATUS}")
file(READ "${CMAKE_CURRENT_BINARY_DIR}/MMLBuildLog.txt" MML_BUILD_LOG)
message(STATUS "Log contents:\n${MML_BUILD_LOG}")
return()
endif()
add_subdirectory(test_projects)