Guest User

Untitled

a guest
Oct 27th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CMake 1.59 KB | None | 0 0
  1. ###########################MACROS##################
  2.  # create hierarchical source groups
  3.  MACRO ( GenerateProject ProjectDir ProjectSources )
  4.  
  5.    SET ( DirSources "${ProjectSources}" )
  6.    FOREACH ( Source ${DirSources} )
  7.      STRING ( REGEX REPLACE "${ProjectDir}" "" RelativePath "${Source}" )
  8.      STRING ( REGEX REPLACE "[\\\\/][^\\\\/]*$" "" RelativePath "${RelativePath}" )
  9.      STRING ( REGEX REPLACE "^[\\\\/]" "" RelativePath "${RelativePath}" )
  10.      STRING ( REGEX REPLACE "/" "\\\\\\\\" RelativePath "${RelativePath}" )
  11.      SOURCE_GROUP ( "${RelativePath}" FILES ${Source} )
  12.    ENDFOREACH ( Source )
  13.  ENDMACRO ( GenerateProject)
  14.  
  15.  
  16. #usage:
  17. #GenerateProject ( src/MyLib ${MyLibSources} )
  18. #ADD_LIBRARY (MyLib SHARED ${MyLibSources} )
  19. ###################################################
  20.  
  21. #cmake ver req
  22. cmake_minimum_required(VERSION 2.8)
  23.  
  24. #project name
  25. set(project_name binemombers)
  26. project(${project_name})
  27.  
  28. #add libraries
  29. include_directories(/usr/local/include/)
  30. include_directories(/usr/include/freetype2)
  31. link_directories(/usr/local/lib/)
  32.  
  33. #setting the external libraries that will be needed
  34. set(${project_name}_external_libs libsfml-graphics.so libGLU.so)
  35.  
  36. #set(CMAKE_CXX_FLAGS "-O2") ## Optimize
  37. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
  38.  
  39. #find all source files
  40. #FILE(GLOB_RECURSE source_files "src/*.cpp")
  41. GenerateProject ( src ${source_files} )
  42.  
  43. #create executable
  44. add_executable(${project_name} ${source_files})
  45.  
  46. #linking in libraries from other sources
  47. foreach(lib ${${project_name}_external_libs})
  48.   target_link_libraries(${project_name} ${lib})
  49. endforeach()
Add Comment
Please, Sign In to add comment