readme.txt 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. notes on porting NICE to WIN using CMAKE:
  2. -------
  3. fixing all these includes of template definitons:
  4. //#ifdef __GNUC__
  5. #include "core/vector/RowMatrixT.tcc"
  6. //#endif
  7. tcc are not cpps, they need to be included into the header file otherwise template usage will result in linking errors
  8. See, Inclusion model of Template classes: http://stackoverflow.com/questions/3705740/c-lnk2019-error-unresolved-external-symbol-template-classs-constructor-and
  9. ------------------------------------------
  10. porting core/basics/timer.h/cpp
  11. highly unix dependend
  12. better use 3rd party time functionality for now()
  13. better use
  14. boost::timer ??
  15. ---------------------------
  16. stringtools highly os dependented
  17. ->recursive dir scan with "ls -r" syntax!!
  18. use 3rd party lib like boost oder qt
  19. use boost regex for regex syntax in stringtools::regex bla
  20. -----------------------------------------------------------------------
  21. macro add_all_subdirs()
  22. set(_all_headers)
  23. set(_all_sources)
  24. set(_all_linkings)
  25. #ge
  26. foreach dir in subdirlist
  27. {
  28. add_directories( dir )
  29. #add header, sources, linkings from subdir to _all_* variables
  30. }
  31. endmacro
  32. set(NICE_CURR_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
  33. #### geile funktionen der OpenCV:
  34. ---aus OpenCVUtils.cmake:
  35. macro(ocv_convert_to_full_paths VAR) # convert list of paths to full paths
  36. macro(ocv_get_real_path VAR PATHSTR) # get absolute path with symlinks resolved
  37. macro(ocv_list_add_suffix LST SUFFIX) # add suffix to each item in the list
  38. macro(ocv_list_add_prefix LST PREFIX) # add prefix to each item in the list
  39. macro(ocv_list_unique __lst)# stable & safe duplicates removal macro
  40. OpenCVModule.cmake
  41. ocv_glob_modules(pathcurrdir) -->in modules
  42. in jedem untermodel, eg core
  43. ocv_add_module(modname)
  44. sets variable "the_module" => set(the_module opencv_${name})
  45. extra abhängikeitens über zweites argument in der funktion, eg. ocv_add_module(core ${ZLIB_Lbla})
  46. ocv_module_include_directories() ( auch mit zusatzincludes dann übergeben ${ZLib_include_Dir})
  47. ocv_glob_module_sources() holt cpps und hpp h aus unterordnern -- sources bilden
  48. ocv_create_module (binary build the module ->add_library, set_target etc
  49. #######
  50. defs to care about
  51. NICE_USELIB_CUDACHOLESKY
  52. NICE_USELIB_IPP
  53. NICE_USELIB_OPENMP
  54. #ifdef NICE_USELIB_MATIO
  55. NICE_USELIB_PNG
  56. NICE_USELIB_JPG
  57. NICE_USELIB_LIBMAGICK
  58. #eigene definiton zum builden der sub-test-ordners
  59. NICE_BUILD_TESTS
  60. NICE_BUILD_PROGS