Skip to content

Modern cmake for linux build#248

Closed
irodushka wants to merge 9 commits intomasterfrom
feature_modern_cmake
Closed

Modern cmake for linux build#248
irodushka wants to merge 9 commits intomasterfrom
feature_modern_cmake

Conversation

@irodushka
Copy link
Copy Markdown
Contributor

No description provided.

@fdcastel
Copy link
Copy Markdown
Member

For the record: this work is already covered in #275.

fdcastel added a commit to fdcastel/firebird-odbc-driver that referenced this pull request Mar 21, 2026
- Fix OdbcJdbcSetup sources: Windows uses full GUI setup (17 files),
  Linux uses only OdbcInstGetProp.cpp (matching makefile.sources)
- Exclude ResourceManagerSink.cpp and TransactionResourceAsync.cpp
  from Linux build (ATL-only)
- Add -D_REENTRANT -D_PTHREADS -DEXTERNAL -DunixODBC for Linux
  (matching old makefile.linux compile flags)
- Fix ODBC linking on Linux: use ODBC::ODBC target instead of
  empty ODBC_LIBRARIES variable
- Change IscDbc from STATIC to OBJECT library (avoids unnecessary
  intermediate archive; objects consumed directly by OdbcFb)
- Add CMAKE_BUILD_TYPE defaulting to Release (single-config generators)
- Add per-config compiler optimization flags for GCC/Clang
  (Debug: -O0 -g3, Release: -O3 -ftree-loop-vectorize, etc.)
- Add CPU architecture detection (x86, x86_64, ARM64, generic)
  with -msse4.1 for x86/x86_64 (from PR FirebirdSQL#248)

CI workflow updates:
- linux.yml: use CMake instead of deleted Gcc.lin makefiles
- msbuild.yml: add cmake -B build step to fetch Firebird headers
  (required by updated .vcxproj include paths)
- rpi_arm64.yml: use CMake instead of deleted Gcc.lin makefiles
- All workflows: trigger on new-build-system branches + PRs
fdcastel added a commit to fdcastel/firebird-odbc-driver that referenced this pull request Mar 21, 2026
Fix Linux build; address PR FirebirdSQL#281 review feedback

- Fix OdbcJdbcSetup sources: Windows uses full GUI setup (17 files),
  Linux uses only OdbcInstGetProp.cpp (matching makefile.sources)
- Exclude ResourceManagerSink.cpp and TransactionResourceAsync.cpp
  from Linux build (ATL-only)
- Add -D_REENTRANT -D_PTHREADS -DEXTERNAL -DunixODBC for Linux
  (matching old makefile.linux compile flags)
- Fix ODBC linking on Linux: use ODBC::ODBC target instead of
  empty ODBC_LIBRARIES variable
- Change IscDbc from STATIC to OBJECT library (avoids unnecessary
  intermediate archive; objects consumed directly by OdbcFb)
- Add CMAKE_BUILD_TYPE defaulting to Release (single-config generators)
- Add per-config compiler optimization flags for GCC/Clang
  (Debug: -O0 -g3, Release: -O3 -ftree-loop-vectorize, etc.)
- Add CPU architecture detection (x86, x86_64, ARM64, generic)
  with -msse4.1 for x86/x86_64 (from PR FirebirdSQL#248)

CI workflow updates:
- linux.yml: use CMake instead of deleted Gcc.lin makefiles
- msbuild.yml: add cmake -B build step to fetch Firebird headers
  (required by updated .vcxproj include paths)
- rpi_arm64.yml: use CMake instead of deleted Gcc.lin makefiles
- All workflows: trigger on new-build-system branches + PRs
fdcastel added a commit to fdcastel/firebird-odbc-driver that referenced this pull request Mar 21, 2026
… feedback

- Fix OdbcJdbcSetup sources: Windows uses full GUI setup (17 files),
  Linux uses only OdbcInstGetProp.cpp (matching makefile.sources)
- Exclude ResourceManagerSink.cpp and TransactionResourceAsync.cpp
  from Linux build (ATL-only)
- Add -D_REENTRANT -D_PTHREADS -DEXTERNAL -DunixODBC for Linux
  (matching old makefile.linux compile flags)
- Fix ODBC linking on Linux: use ODBC::ODBC target instead of
  empty ODBC_LIBRARIES variable
- Change IscDbc from STATIC to OBJECT library (avoids unnecessary
  intermediate archive; objects consumed directly by OdbcFb)
- Add CMAKE_BUILD_TYPE defaulting to Release (single-config generators)
- Add per-config compiler optimization flags for GCC/Clang
  (Debug: -O0 -g3, Release: -O3 -ftree-loop-vectorize, etc.)
- Add CPU architecture detection (x86, x86_64, ARM64, generic)
  with -msse4.1 for x86/x86_64 (from PR FirebirdSQL#248)

CI workflow updates:
- linux.yml: use CMake instead of deleted Gcc.lin makefiles
- msbuild.yml: add cmake -B build step to fetch Firebird headers
  (required by updated .vcxproj include paths)
- rpi_arm64.yml: use CMake instead of deleted Gcc.lin makefiles
- All workflows: trigger on new-build-system branches + PRs
@irodushka
Copy link
Copy Markdown
Contributor Author

Closed as a dup - see PR#281

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants