Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ###########################MACROS##################
- # create hierarchical source groups
- MACRO ( GenerateProject ProjectDir ProjectSources )
- SET ( DirSources "${ProjectSources}" )
- FOREACH ( Source ${DirSources} )
- STRING ( REGEX REPLACE "${ProjectDir}" "" RelativePath "${Source}" )
- STRING ( REGEX REPLACE "[\\\\/][^\\\\/]*$" "" RelativePath "${RelativePath}" )
- STRING ( REGEX REPLACE "^[\\\\/]" "" RelativePath "${RelativePath}" )
- STRING ( REGEX REPLACE "/" "\\\\\\\\" RelativePath "${RelativePath}" )
- SOURCE_GROUP ( "${RelativePath}" FILES ${Source} )
- ENDFOREACH ( Source )
- ENDMACRO ( GenerateProject)
- #usage:
- #GenerateProject ( src/MyLib ${MyLibSources} )
- #ADD_LIBRARY (MyLib SHARED ${MyLibSources} )
- ###################################################
- #cmake ver req
- cmake_minimum_required(VERSION 2.8)
- #project name
- set(project_name binemombers)
- project(${project_name})
- #add libraries
- include_directories(/usr/local/include/)
- include_directories(/usr/include/freetype2)
- link_directories(/usr/local/lib/)
- #setting the external libraries that will be needed
- set(${project_name}_external_libs libsfml-graphics.so libGLU.so)
- #set(CMAKE_CXX_FLAGS "-O2") ## Optimize
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
- #find all source files
- #FILE(GLOB_RECURSE source_files "src/*.cpp")
- GenerateProject ( src ${source_files} )
- #create executable
- add_executable(${project_name} ${source_files})
- #linking in libraries from other sources
- foreach(lib ${${project_name}_external_libs})
- target_link_libraries(${project_name} ${lib})
- endforeach()
Add Comment
Please, Sign In to add comment