marklogic-community / mlcplusplus

C++ wrapper for the MarkLogic REST API, including C .NET bindings
https://marklogic-community.github.io/mlcplusplus/api/
Other
7 stars 5 forks source link

CMake modernization and improvements #314

Open rrumpf opened 7 years ago

rrumpf commented 7 years ago

· Boost Log pulled in incorrectly via components (should be log log_setup). · Use of old-style commands (missing target_include_directories, target_compile_definitions, target_compile_options) makes CMake export for install-based config file impossible, as well as having improper separation of concerns. · Missing CTest integration. · Missing install-based CMake config file. · Can use source_group() on windows and folders to organize MSVC project. · Unclear what point of BUILD_SHARED_LIBS is since resulting library created is always shared. Also, don’t need it on Linux but present anyway. · Consider modifying usage of cpprest so that Eclipse Unix makefiles are generated on OSX and Linux instead of just makefiles. · Inclusion of cpprest library done twice… not sure why. · Consider component-based installer. · Can also use compiler compatibility/feature detection headers. · Missing some files in installer – mlclientConfig.h, for example. · Compiler feature detection compatibility headers. · Surprised that hardcoded directories don’t get you on Windows… link_directories(/usr/lib /usr/local/lib /usr/local/opt/openssl/lib )