1 CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) 2 3 ######################################################### 4 # Set project name 5 ######################################################### 6 7 IF( NOT PROJECT_NAME ) 8 IF ( NOT "x$ENV{PROJECT_NAME}" STREQUAL "x" ) 9 SET( PROJECT_NAME $ENV{PROJECT_NAME} ) 10 ELSE() 11 SET( PROJECT_NAME hello-android ) 12 ENDIF() 13 ENDIF() 14 SET( PROJECT_NAME ${PROJECT_NAME} CACHE STRING "The name of your project") 15 16 PROJECT( ${PROJECT_NAME} ) 17 18 ######################################################### 19 # Find OpenCV 20 ######################################################### 21 22 FIND_PACKAGE( OpenCV REQUIRED ) 23 24 ######################################################### 25 # c/c++ flags, includes and lib dependencies 26 ######################################################### 27 28 #notice the "recycling" of CMAKE_C_FLAGS 29 #this is necessary to pick up android flags 30 SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pedantic" ) 31 SET( CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} -Wall -pedantic" ) 32 33 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 34 35 SET( LIBRARY_DEPS ${OpenCV_LIBS} ) 36 IF( ANDROID ) 37 SET( LIBRARY_DEPS ${LIBRARY_DEPS} log dl ) 38 ENDIF() 39 40 ######################################################### 41 # source files 42 ######################################################### 43 44 FILE( GLOB hdrs "*.h*" ) 45 FILE( GLOB srcs "*.cpp" ) 46 47 ADD_EXECUTABLE( ${PROJECT_NAME} ${srcs} ) 48 TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${LIBRARY_DEPS} ) 49 50 ######################################################### 51 # Summary report 52 ######################################################### 53 message( STATUS "") 54 message( STATUS "General configuration for ${PROJECT_NAME} =====================================") 55 message( STATUS "") 56 message( STATUS " OpenCV path: ${OpenCV_DIR}") 57 message( STATUS " Compiler: ${CMAKE_CXX_COMPILER}") 58 message( STATUS " C++ flags (Release): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") 59 message( STATUS " C++ flags (Debug): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}") 60 if(WIN32) 61 message( STATUS " Linker flags (Release): ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_RELEASE}") 62 message( STATUS " Linker flags (Debug): ${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_DEBUG}") 63 else() 64 message( STATUS " Linker flags (Release): ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") 65 message( STATUS " Linker flags (Debug): ${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}") 66 endif() 67