Skip to content

Commit 1e0db49

Browse files
committed
Add experimental conan support
Try to use conan package manager to handle build dependencies. Additional updates to CMake
1 parent 38ede87 commit 1e0db49

File tree

2 files changed

+37
-22
lines changed

2 files changed

+37
-22
lines changed

CMakeLists.txt

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,15 @@ project(shockolate VERSION 0.7.8)
44

55
include(FeatureSummary)
66

7-
#set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS OFF)
8-
#set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS ON)
9-
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS OFF)
10-
set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS ON)
7+
# Added for conan generator
8+
set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH})
119

1210
# Required for stdbool.h
1311
set(CMAKE_C_STANDARD 99)
1412
# For nullptr in C++
1513
set(CMAKE_CXX_STANDARD 11)
1614
set(CMAKE_CXX_STANDARD_REQUIRED ON)
1715

18-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g ")
19-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -D__STDC_LIMIT_MACROS")
20-
2116
option(ENABLE_EXAMPLES "Enable example applications" OFF)
2217
add_feature_info(ENABLE_EXAMPLES ENABLE_EXAMPLES "Enable example application (can be broken!)")
2318
option(ENABLE_DEBUG_BLIT "Enable debugging blitter" OFF)
@@ -38,7 +33,7 @@ set_property(CACHE ENABLE_FLUIDSYNTH PROPERTY STRINGS "ON" "BUNDLED" "OFF")
3833
add_feature_info(ENABLE_FLUIDSYNTH ENABLE_FLUIDSYNTH "Enable FluidSynth MIDI support")
3934

4035
# HAAAAX!!
41-
add_definitions(-DSVGA_SUPPORT)
36+
add_definitions(-DSVGA_SUPPORT -D__STDC_LIMIT_MACROS)
4237

4338
if(ENABLE_DEBUG_BLIT)
4439
add_definitions(-DDEBUGGING_BLIT)
@@ -51,8 +46,9 @@ if(ENABLE_OPENGL)
5146
find_package(OpenGL REQUIRED)
5247
add_definitions(-DUSE_OPENGL)
5348
if(WIN32)
54-
list(APPEND OPENGL_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/build_ext/built_glew/include)
55-
list(APPEND OPENGL_LIBRARIES ${CMAKE_SOURCE_DIR}/build_ext/built_glew/lib/libglew32.dll.a winmm)
49+
find_package(glew REQUIRED)
50+
list(APPEND OPENGL_INCLUDE_DIRS ${glew_INCLUDE_DIRS})
51+
list(APPEND OPENGL_LIBRARIES glew:glew winmm)
5652
endif(WIN32)
5753
endif(ENABLE_OPENGL)
5854

@@ -63,11 +59,9 @@ if(ENABLE_SDL2 MATCHES "ON")
6359
endif(SDL2_FOUND)
6460
endif(ENABLE_SDL2 MATCHES "ON")
6561
if(ENABLE_SDL2 MATCHES "BUNDLED")
66-
set(SDL2_DIR ${CMAKE_SOURCE_DIR}/build_ext/built_sdl)
67-
find_library(SDL2_LIBRARY SDL2 PATHS ${SDL2_DIR}/lib NO_DEFAULT_PATH)
68-
find_library(SDL2MAIN_LIBRARY SDL2main PATHS ${SDL2_DIR}/lib NO_DEFAULT_PATH)
69-
set(SDL2_INCLUDE_DIRS ${SDL2_DIR}/include/SDL2)
70-
set(SDL2_LIBRARIES "${SDL2MAIN_LIBRARY};${SDL2_LIBRARY}")
62+
find_package(sdl2 REQUIRED)
63+
set(SDL2_INCLUDE_DIRS ${sdl2_INCLUDE_DIRS})
64+
set(SDL2_LIBRARIES sdl2::sdl2)
7165
endif(ENABLE_SDL2 MATCHES "BUNDLED")
7266

7367
if(ENABLE_SOUND MATCHES "ON")
@@ -77,10 +71,9 @@ if(ENABLE_SOUND MATCHES "ON")
7771
add_definitions(-DUSE_SDL_MIXER=1)
7872
endif(ENABLE_SOUND MATCHES "ON")
7973
if(ENABLE_SOUND MATCHES "BUNDLED")
80-
set(SDL2_MIXER_DIR ${CMAKE_SOURCE_DIR}/build_ext/built_sdl_mixer)
81-
set(SDL2_MIXER_INCLUDE_DIRS ${SDL2_MIXER_DIR}/include/SDL2)
82-
find_library(SDL2_MIXER_LIBRARY SDL2_mixer PATHS ${SDL2_MIXER_DIR}/lib)
83-
set(SDL2_MIXER_LIBRARIES ${SDL2_MIXER_LIBRARY})
74+
find_package(sdl2_mixer REQUIRED)
75+
set(SDL2_MIXER_INCLUDE_DIRS ${sdl2_mixer_INCLUDE_DIRS})
76+
set(SDL2_MIXER_LIBRARIES sdl2_mixer::sdl2_mixer)
8477
add_definitions(-DUSE_SDL_MIXER=1)
8578
endif(ENABLE_SOUND MATCHES "BUNDLED")
8679

@@ -90,9 +83,9 @@ if(ENABLE_FLUIDSYNTH MATCHES "ON")
9083
add_definitions("-DUSE_FLUIDSYNTH=1")
9184
endif(ENABLE_FLUIDSYNTH MATCHES "ON")
9285
if(ENABLE_FLUIDSYNTH MATCHES "BUNDLED")
93-
find_library(FLUIDSYNTH_LIBRARY fluidsynth PATHS ${CMAKE_SOURCE_DIR}/build_ext/fluidsynth-lite/src)
94-
set(FLUIDSYNTH_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/build_ext/fluidsynth-lite/include)
95-
set(FLUIDSYNTH_LIBRARIES ${FLUIDSYNTH_LIBRARY})
86+
find_package(fluidsynth REQUIRED)
87+
set(FLUIDSYNTH_INCLUDE_DIRS ${fluidsynth_INCLUDE_DIRS})
88+
set(FLUIDSYNTH_LIBRARIES fluidsynth::fluidsynth)
9689
add_definitions("-DUSE_FLUIDSYNTH=1")
9790
endif(ENABLE_FLUIDSYNTH MATCHES "BUNDLED")
9891

conanfile.txt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
[build_requires]
2+
fluidsynth/2.0.5@bincrafters/stable
3+
glew/2.1.0@bincrafters/stable
4+
sdl2/2.0.9@bincrafters/stable
5+
sdl2_mixer/2.0.4@bincrafters/stable
6+
7+
[options]
8+
# Disable unused dependencies
9+
10+
sdl2:jack=False
11+
sdl2:nas=False
12+
13+
sdl2_mixer:mad=False
14+
sdl2_mixer:modplug=False
15+
sdl2_mixer:mpg123=False
16+
sdl2_mixer:ogg=False
17+
sdl2_mixer:opus=False
18+
sdl2_mixer:tinymidi=False
19+
20+
[generators]
21+
cmake_find_package
22+

0 commit comments

Comments
 (0)