Annotation of previous/CMakeLists.txt, revision 1.1.1.2

1.1       root        1: 
                      2: cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
                      3: 
                      4: project(Previous)
                      5: 
                      6: SET(APP_NAME "Previous")
                      7: 
                      8: set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
                      9: 
                     10: include(CheckIncludeFiles)
                     11: include(CheckFunctionExists)
1.1.1.2 ! root       12: include(CheckCCompilerFlag)
1.1       root       13: include(DistClean)
                     14: 
                     15: # Set build type to "Release" if user did not specify any build type yet
                     16: # Other possible values: Debug, Release, RelWithDebInfo and MinSizeRel
                     17: if(NOT CMAKE_BUILD_TYPE)
                     18:        set(CMAKE_BUILD_TYPE Release)
                     19: endif(NOT CMAKE_BUILD_TYPE)
                     20: 
                     21: # set(CMAKE_VERBOSE_MAKEFILE 1)
                     22: 
                     23: # ##########################
                     24: # Conditional build features
                     25: # ##########################
                     26: 
                     27: set(ENABLE_TRACING 1
                     28:     CACHE BOOL "Enable tracing messages for debugging")
1.1.1.2 ! root       29: set(ENABLE_WINUAE_CPU 1
        !            30:     CACHE BOOL "Enable WinUAE CPU core (experimental!)")
1.1       root       31: 
                     32: if(APPLE)
                     33:        set(ENABLE_OSX_BUNDLE 1
1.1.1.2 ! root       34:            CACHE BOOL "Built Previous as Mac OS X application bundle")
1.1       root       35:        # set(CMAKE_OSX_ARCHITECTURES "i386" CACHE STRING "Target architectures" FORCE)
                     36:        # set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.6.sdk" CACHE STRING "10.6 SDK" FORCE)
                     37:        # set(CMAKE_OSX_DEPLOYMENT_TARGET "10.5" CACHE STRING "Target Min 10.5" FORCE)
                     38:        set(ADDITIONAL_INCLUDES ${FRAMEWORKS})
                     39:        set_source_files_properties(${FRAMEWORKS} PROPERTIES MACOSX_PACKAGE_LOCATION Frameworks)
                     40: else()
                     41:        set(ENABLE_OSX_BUNDLE 0
                     42:            CACHE BOOL "Built Hatari as Mac OS X application bundle")
                     43: endif(APPLE)
                     44: 
                     45: # ####################
                     46: # Check for libraries:
                     47: # ####################
                     48: 
                     49: find_package(SDL REQUIRED)
                     50: if(NOT SDL_FOUND)
                     51:        message(FATAL_ERROR "SDL library not found!")
                     52: endif(NOT SDL_FOUND)
                     53: 
                     54: find_package(Math)
                     55: 
                     56: find_package(Readline)
                     57: if(READLINE_FOUND)
                     58:        set(CMAKE_REQUIRED_LIBRARIES "readline")
                     59:        check_function_exists(rl_filename_completion_function HAVE_RL_COMPLETION_FUNCTION)
                     60:        if(HAVE_RL_COMPLETION_FUNCTION)
                     61:                set(HAVE_LIBREADLINE 1)
                     62:        else()
                     63:                unset(READLINE_FOUND)
                     64:        endif(HAVE_RL_COMPLETION_FUNCTION)
                     65:        set(CMAKE_REQUIRED_LIBRARIES "")
                     66: endif(READLINE_FOUND)
                     67: 
                     68: find_package(ZLIB)
                     69: if(ZLIB_FOUND)
                     70:        set(HAVE_LIBZ 1)
                     71:        set(HAVE_ZLIB_H 1)
                     72: endif(ZLIB_FOUND)
                     73: 
                     74: find_package(PNG)
                     75: if(PNG_FOUND)
                     76:        set(HAVE_LIBPNG 1)
                     77: endif(PNG_FOUND)
                     78: 
                     79: find_package(X11)
                     80: if(X11_FOUND)
                     81:        set(HAVE_X11 1)
                     82: endif(X11_FOUND)
                     83: 
                     84: find_package(PortAudio)
                     85: if(PORTAUDIO_FOUND)
                     86:        set(HAVE_PORTAUDIO 1)
                     87: endif(PORTAUDIO_FOUND)
                     88: 
                     89: # ################
                     90: # CPP Definitions:
                     91: # ################
                     92: 
                     93: add_definitions(-DCONFDIR=\"/etc\")
                     94: 
                     95: # Test for large file support:
                     96: execute_process(COMMAND getconf LFS_CFLAGS
                     97:                 OUTPUT_VARIABLE DETECTED_LFS_CFLAGS
                     98:                 ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
                     99: if(DETECTED_LFS_CFLAGS)
                    100:        add_definitions(${DETECTED_LFS_CFLAGS})
                    101:        # message(STATUS "Large filesystem flags: ${DETECTED_LFS_CFLAGS}")
                    102: endif(DETECTED_LFS_CFLAGS)
                    103: 
                    104: # Additional CFLAGS suggested by the SDL library:
                    105: execute_process(COMMAND pkg-config --cflags-only-other sdl
                    106:                 OUTPUT_VARIABLE DETECTED_SDL_CFLAGS
                    107:                 ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
                    108: if(DETECTED_SDL_CFLAGS)
                    109:        add_definitions(${DETECTED_SDL_CFLAGS})
                    110:        # message(STATUS "Additional CFLAGS of SDL: ${DETECTED_SDL_CFLAGS}")
                    111: endif(DETECTED_SDL_CFLAGS)
                    112: 
                    113: # ###########################
                    114: # Check for optional headers:
                    115: # ###########################
                    116: 
                    117: check_include_files(termios.h HAVE_TERMIOS_H)
                    118: check_include_files(strings.h HAVE_STRINGS_H)
                    119: check_include_files(malloc.h HAVE_MALLOC_H)
                    120: check_include_files(SDL/SDL_config.h HAVE_SDL_SDL_CONFIG_H)
                    121: check_include_files(sys/times.h HAVE_SYS_TIMES_H)
                    122: check_include_files("sys/socket.h;sys/un.h" HAVE_UNIX_DOMAIN_SOCKETS)
                    123: 
                    124: # #############################
                    125: # Check for optional functions:
                    126: # #############################
                    127: 
                    128: check_function_exists(cfmakeraw HAVE_CFMAKERAW)
                    129: check_function_exists(setenv HAVE_SETENV)
                    130: check_function_exists(select HAVE_SELECT)
                    131: check_function_exists(posix_memalign HAVE_POSIX_MEMALIGN)
                    132: check_function_exists(memalign HAVE_MEMALIGN)
                    133: 
1.1.1.2 ! root      134: check_function_exists(gettimeofday HAVE_GETTIMEOFDAY)
        !           135: check_function_exists(nanosleep HAVE_NANOSLEEP)
        !           136: check_function_exists(alphasort HAVE_ALPHASORT)
        !           137: check_function_exists(scandir HAVE_SCANDIR)
        !           138: 
        !           139: 
1.1       root      140: # #############
                    141: # Other CFLAGS:
                    142: # #############
                    143: 
                    144: # Warning flags:
                    145: if(CMAKE_COMPILER_IS_GNUCC)
                    146:        set(CMAKE_C_FLAGS "-Wcast-qual -g -O0 -Wbad-function-cast -Wpointer-arith ${CMAKE_C_FLAGS}")
                    147:        set(CMAKE_C_FLAGS "-Wmissing-prototypes -Wstrict-prototypes ${CMAKE_C_FLAGS}")
                    148:        set(CMAKE_C_FLAGS "-Wall -Wwrite-strings -Wsign-compare ${CMAKE_C_FLAGS}")
1.1.1.2 ! root      149:        #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra -Wno-unused-parameter -Wno-empty-body")
        !           150:        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wformat-security")
        !           151:        #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wshadow -D_FORTIFY_SOURCE=2 -Werror")
1.1       root      152: endif(CMAKE_COMPILER_IS_GNUCC)
                    153: 
1.1.1.2 ! root      154: # Building Previous w/o optimization is no fun...
1.1       root      155: IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
                    156:        set(CMAKE_C_FLAGS "-O ${CMAKE_C_FLAGS}")
                    157: ENDIF (CMAKE_BUILD_TYPE STREQUAL "Debug")
                    158: 
                    159: # ####################
                    160: # Paths configuration:
                    161: # ####################
                    162: 
                    163: if(NOT BINDIR)
                    164:        set(BINDIR bin)
                    165: endif()
                    166: 
                    167: if(NOT DATADIR)
                    168:        set(DATADIR share/previous)
                    169: endif()
                    170: 
                    171: if(NOT BIN2DATADIR)
                    172:        if(WIN32)
                    173:                set(BIN2DATADIR "."
                    174:                    CACHE STRING "Relative path from bindir to datadir")
                    175:        elseif(ENABLE_OSX_BUNDLE)
                    176:                set(BIN2DATADIR "../Resources"
                    177:                    CACHE STRING "Relative path from bindir to datadir")
                    178:        else()
                    179:                set(BIN2DATADIR "../share/hatari"
                    180:                    CACHE STRING "Relative path from bindir to datadir")
                    181:        endif(WIN32)
                    182:        mark_as_advanced(BIN2DATADIR)
                    183: endif()
                    184: 
                    185: if(NOT MANDIR)
                    186:        set(MANDIR share/man/man1)
                    187: endif()
                    188: 
                    189: if(NOT DOCDIR)
                    190:        set(DOCDIR share/doc/previous)
                    191: endif()
                    192: 
                    193: # #########################################
                    194: # Create config.h and recurse into subdirs:
                    195: # #########################################
                    196: 
                    197: configure_file(${CMAKE_SOURCE_DIR}/cmake/config-cmake.h
                    198:                ${CMAKE_BINARY_DIR}/config.h)
                    199: 
                    200: add_subdirectory(src)
                    201: 
                    202: include(FindPythonInterp)
                    203: if(PYTHONINTERP_FOUND)
                    204:        add_subdirectory(python-ui)
                    205: endif(PYTHONINTERP_FOUND)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.