diff --git a/CMakeLists.txt b/CMakeLists.txt
index 41d659851636da9a1c620b95589396312c9e2cfd..d0f1b2e7ef2ad9d83d53b3a5fbafcbb7babdc476 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -71,7 +71,7 @@ if(HAVE_WALL)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
 endif()
 
-check_cxx_compiler_flag("-03" HAVE_O3)
+check_cxx_compiler_flag("-O3" HAVE_O3)
 if(HAVE_O3)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
 endif()
@@ -296,12 +296,15 @@ if(ENABLE_OPENMP)
   if(OPENMP_FOUND)
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
     set_config_option(HAVE_OPENMP "OpenMP")
-  endif()
-
-  if(APPLE AND EXISTS "/usr/local/opt/libomp")
+  elseif(APPLE AND EXISTS "/usr/local/opt/libomp")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xpreprocessor -fopenmp -I/usr/local/opt/libomp/include")
     list(APPEND EXTRA_LIBS "-L/usr/local/opt/libomp/lib -lomp")
-    set_config_option(HAVE_OPENMP "OpenMP")
+    set_config_option(HAVE_OPENMP "OpenMP[usr/local]")
+  elseif(APPLE AND EXISTS "/opt/local/lib/libomp")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Xpreprocessor -fopenmp -I/opt/local/include/libomp")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xpreprocessor -fopenmp -I/opt/local/include/libomp")
+    list(APPEND EXTRA_LIBS "-L/opt/local/lib/libomp -lomp")
+    set_config_option(HAVE_OPENMP "OpenMP[MacPorts]")
   endif()
 endif()