hedgewars/CMakeLists.txt
branchios-revival
changeset 11388 1ae8d4582e1e
parent 11378 cef3fef64c93
child 11392 f4e19cd88747
equal deleted inserted replaced
11387:7038ecc1f7fa 11388:1ae8d4582e1e
     1 find_package(SDL1or2)
     1 enable_language(Pascal)
     2 find_package(SDL_image)
     2 
     3 find_package(SDL_net)
     3 find_package(SDL2 REQUIRED)
     4 find_package(SDL_ttf)
     4 find_package(SDL2_image REQUIRED)
     5 find_package(SDL_mixer)
     5 find_package(SDL2_net REQUIRED)
       
     6 find_package(SDL2_ttf REQUIRED)
       
     7 find_package(SDL2_mixer REQUIRED)
     6 
     8 
     7 include(CheckLibraryExists)
     9 include(CheckLibraryExists)
     8 include(${CMAKE_MODULE_PATH}/utils.cmake)
    10 include(${CMAKE_MODULE_PATH}/utils.cmake)
     9 
    11 
    10 
    12 
   120 #generic folder where our libraries reside
   122 #generic folder where our libraries reside
   121 add_flag_append(CMAKE_Pascal_FLAGS "-Fl${LIBRARY_OUTPUT_PATH}")
   123 add_flag_append(CMAKE_Pascal_FLAGS "-Fl${LIBRARY_OUTPUT_PATH}")
   122 
   124 
   123 #DEPENDECIES AND EXECUTABLES SECTION
   125 #DEPENDECIES AND EXECUTABLES SECTION
   124 if(APPLE AND (NOT BUILD_ENGINE_LIBRARY))
   126 if(APPLE AND (NOT BUILD_ENGINE_LIBRARY))
   125     #on OSX we need to provide the SDL_main() function when building as
       
   126     #executable and the entry point too
       
   127     add_subdirectory(sdlmain)
       
   128     list(APPEND HW_LINK_LIBS SDLmain)
       
   129     add_flag_append(CMAKE_Pascal_FLAGS "-k-lsdlmain")
       
   130     add_flag_append(CMAKE_Pascal_FLAGS "-XMSDL_main")
       
   131     #OpenGL deps
   127     #OpenGL deps
   132     add_flag_append(CMAKE_Pascal_FLAGS "-k-framework -kCocoa")
   128     add_flag_append(CMAKE_Pascal_FLAGS "-k-framework -kCocoa")
   133     add_flag_append(CMAKE_Pascal_FLAGS "-k-framework -kOpenGL")
   129     add_flag_append(CMAKE_Pascal_FLAGS "-k-framework -kOpenGL")
   134 
   130 
   135     #set the correct library or framework style depending on the main SDL
   131     #set the correct library or framework style depending on the main SDL
   136     string(FIND "${SDL_LIBRARY}" "dylib" sdl_framework)
   132     string(FIND "${SDL2_LIBRARY}" "dylib" sdl_framework)
   137     if(${sdl_framework} GREATER -1)
   133     if(${sdl_framework} GREATER -1)
   138         add_flag_append(CMAKE_Pascal_FLAGS "-k-lsdl -k-lsdl_image -k-lsdl_mixer -k-lsdl_ttf -k-lsdl_net")
   134         add_flag_append(CMAKE_Pascal_FLAGS "-k-lsdl2 -k-lsdl2_image -k-lsdl2_mixer -k-lsdl2_ttf -k-lsdl2_net")
   139     else()
   135     else()
   140         add_flag_append(CMAKE_Pascal_FLAGS "-k-framework -kSDL -k-framework -kSDL_image -k-framework -kSDL_mixer -k-framework -kSDL_net -k-framework -kSDL_net -k-framework -kSDL_ttf")
   136         add_flag_append(CMAKE_Pascal_FLAGS "-k-framework -kSDL2 -k-framework -kSDL2_image -k-framework -kSDL2_mixer -k-framework -kSDL2_net -k-framework -kSDL2_net -k-framework -kSDL2_ttf")
   141     endif()
   137     endif()
   142 endif()
   138 endif()
   143 
   139 
   144 if(LIBAV_FOUND)
   140 if(LIBAV_FOUND)
   145     add_subdirectory(avwrapper)
   141     add_subdirectory(avwrapper)
   146     list(APPEND HW_LINK_LIBS avwrapper)
   142     list(APPEND HW_LINK_LIBS avwrapper)
   147     add_definitions(-dUSE_VIDEO_RECORDING)
   143     add_definitions(-dUSE_VIDEO_RECORDING)
   148     #only for SDL < 2, linking carried out by fpc
       
   149     find_package_or_disable_msg(GLUT NOVIDEOREC "Video recording will not be built")
       
   150 endif()
   144 endif()
   151 
   145 
   152 find_package_or_disable_msg(PNG NOPNG "Screenshots will be saved in BMP")
   146 find_package_or_disable_msg(PNG NOPNG "Screenshots will be saved in BMP")
   153 if(PNG_FOUND)
   147 if(PNG_FOUND)
   154     list(INSERT engine_sources 0 PNGh.pas)
   148     list(INSERT engine_sources 0 PNGh.pas)
   183 endif()
   177 endif()
   184 list(APPEND HW_LINK_LIBS physlayer)
   178 list(APPEND HW_LINK_LIBS physlayer)
   185 
   179 
   186 
   180 
   187 #Mix_Init/Mix_Quit from SDL_mixer 1.2.10
   181 #Mix_Init/Mix_Quit from SDL_mixer 1.2.10
   188 check_library_exists(${SDLMIXER_LIBRARY} Mix_Init "" HAVE_MIXINIT)
   182 check_library_exists(${SDL2MIXER_LIBRARY} Mix_Init "" HAVE_MIXINIT)
   189 if(HAVE_MIXINIT)
   183 if(HAVE_MIXINIT)
   190     add_definitions(-dSDL_MIXER_NEWER)
   184     add_definitions(-dSDL_MIXER_NEWER)
   191 endif(HAVE_MIXINIT)
   185 endif(HAVE_MIXINIT)
   192 
   186 
   193 #IMG_Init/IMG_Quit from SDL_image 1.2.8
   187 #IMG_Init/IMG_Quit from SDL_image 1.2.8
   194 check_library_exists(${SDLIMAGE_LIBRARY} IMG_Init "" HAVE_IMGINIT)
   188 check_library_exists(${SDL2IMAGE_LIBRARY} IMG_Init "" HAVE_IMGINIT)
   195 if(HAVE_IMGINIT)
   189 if(HAVE_IMGINIT)
   196     add_definitions(-dSDL_IMAGE_NEWER)
   190     add_definitions(-dSDL_IMAGE_NEWER)
   197 endif(HAVE_IMGINIT)
   191 endif(HAVE_IMGINIT)
   198 
       
   199 if(${SDL_VERSION} VERSION_GREATER 1.3)
       
   200     add_definitions(-dSDL2)
       
   201 endif()
       
   202 
   192 
   203 #opengl 2
   193 #opengl 2
   204 IF(GL2)
   194 IF(GL2)
   205     add_definitions(-dGL2)
   195     add_definitions(-dGL2)
   206 ENDIF(GL2)
   196 ENDIF(GL2)