Update CMakeLists to use correct binary name and pthreads if not using MinGW/VS

This commit is contained in:
Raymonf 2020-08-20 17:47:27 -04:00
parent 49fbdd2154
commit 32a37acd5a

View File

@ -17,11 +17,23 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# Set the OpenFusion project as the default startup project for VS # Set the OpenFusion project as the default startup project for VS
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT openfusion) set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT openfusion)
if (WIN32)
# Set the output binary name to winfusion to match the regular Makefile
set(BIN_NAME winfusion)
else()
set(BIN_NAME fusion)
endif()
include_directories(src) include_directories(src)
file(GLOB_RECURSE SOURCES src/**.cpp src/**.hpp) file(GLOB_RECURSE SOURCES src/**.cpp src/**.hpp)
add_executable(openfusion ${SOURCES}) add_executable(openfusion ${SOURCES})
# Set the output binary name to winfusion to match the regular Makefile set_target_properties(openfusion PROPERTIES OUTPUT_NAME ${BIN_NAME})
set_target_properties(openfusion PROPERTIES OUTPUT_NAME winfusion)
# Use pthreads if not generating a VS solution or MinGW makefile (because MinGW will prefer Win32 threads)
if (NOT CMAKE_GENERATOR MATCHES "Visual Studio" AND NOT CMAKE_GENERATOR MATCHES "MinGW Makefiles")
find_package(Threads REQUIRED)
target_link_libraries(openfusion pthread)
endif()