cmake on macosx
This commit is contained in:
		@@ -3,6 +3,10 @@ cmake_minimum_required(VERSION 3.9)
 | 
			
		||||
project(TIC-80 C)
 | 
			
		||||
message("Building for target : ${CMAKE_SYSTEM_NAME}")
 | 
			
		||||
 | 
			
		||||
if(UNIX AND NOT APPLE)
 | 
			
		||||
	set(LINUX TRUE)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
set(CMAKE_C_STANDARD 99)
 | 
			
		||||
 | 
			
		||||
if(NOT CMAKE_BUILD_TYPE)
 | 
			
		||||
@@ -16,12 +20,12 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
 | 
			
		||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
 | 
			
		||||
 | 
			
		||||
include(FindPkgConfig)
 | 
			
		||||
if(NOT PKG_CONFIG_FOUND AND CMAKE_SYSTEM_NAME STREQUAL "Linux") 
 | 
			
		||||
if(NOT PKG_CONFIG_FOUND AND LINUX) 
 | 
			
		||||
 message(FATAL_ERROR "We need pkg-config to compile this project")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
#platform specific includes
 | 
			
		||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
 | 
			
		||||
if(LINUX)
 | 
			
		||||
	pkg_check_modules(GTK REQUIRED gtk+-3.0)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
@@ -229,8 +233,13 @@ if(WIN32)
 | 
			
		||||
	target_link_libraries(sdlgpu opengl32)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
 | 
			
		||||
target_link_libraries(sdlgpu GL)
 | 
			
		||||
if(LINUX)
 | 
			
		||||
	target_link_libraries(sdlgpu GL)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if(APPLE)
 | 
			
		||||
	FIND_LIBRARY(OPENGL_LIBRARY OpenGL)
 | 
			
		||||
	target_link_libraries(sdlgpu ${OPENGL_LIBRARY})
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
################################
 | 
			
		||||
@@ -300,6 +309,26 @@ target_include_directories(tic80lib PRIVATE 3rd-party/lua-5.3.1/src)
 | 
			
		||||
add_dependencies(tic80lib tic80core zlibstatic)
 | 
			
		||||
target_link_libraries(tic80lib tic80core zlibstatic)
 | 
			
		||||
 | 
			
		||||
################################
 | 
			
		||||
# File Save/Load dialog
 | 
			
		||||
################################
 | 
			
		||||
 | 
			
		||||
set(FILE_DIALOG_SRC src/ext/file_dialog.c)
 | 
			
		||||
 | 
			
		||||
if(APPLE)
 | 
			
		||||
	set(FILE_DIALOG_SRC ${FILE_DIALOG_SRC} src/ext/file_dialog.m)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
add_library(file_dialog STATIC ${FILE_DIALOG_SRC})
 | 
			
		||||
 | 
			
		||||
target_include_directories(file_dialog PRIVATE include)
 | 
			
		||||
target_include_directories(file_dialog PRIVATE 3rd-party/SDL2-2.0.7/include)
 | 
			
		||||
 | 
			
		||||
if(LINUX)
 | 
			
		||||
	target_include_directories(file_dialog PRIVATE ${GTK_INCLUDE_DIRS})
 | 
			
		||||
	target_link_libraries(file_dialog ${GTK_LIBRARIES})
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
################################
 | 
			
		||||
# TIC-80 app
 | 
			
		||||
################################
 | 
			
		||||
@@ -308,7 +337,6 @@ set(TIC80_DIR src)
 | 
			
		||||
set(TIC80_SRC
 | 
			
		||||
	${TIC80_DIR}/net.c
 | 
			
		||||
	${TIC80_DIR}/system.c
 | 
			
		||||
	${TIC80_DIR}/ext/file_dialog.c
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
if(WIN32)
 | 
			
		||||
@@ -317,15 +345,10 @@ else()
 | 
			
		||||
	add_executable(tic80 ${TIC80_SRC})
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
 | 
			
		||||
	target_include_directories(tic80 PRIVATE ${GTK_INCLUDE_DIRS})
 | 
			
		||||
	target_link_libraries(tic80 ${GTK_LIBRARIES})
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
target_include_directories(tic80 PRIVATE include)
 | 
			
		||||
target_include_directories(tic80 PRIVATE 3rd-party/SDL2-2.0.7/include)
 | 
			
		||||
target_include_directories(tic80 PRIVATE 3rd-party/sdl-gpu/include)
 | 
			
		||||
target_include_directories(tic80 PRIVATE 3rd-party/SDL2_net-2.0.1)
 | 
			
		||||
 | 
			
		||||
add_dependencies(tic80 tic80lib sdlgpu sdlnet SDL2main)
 | 
			
		||||
target_link_libraries(tic80 tic80lib sdlgpu sdlnet SDL2main)
 | 
			
		||||
add_dependencies(tic80 tic80lib file_dialog sdlgpu sdlnet SDL2main)
 | 
			
		||||
target_link_libraries(tic80 tic80lib file_dialog sdlgpu sdlnet SDL2main)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user